IB Student Clearance Program
This repository has been archived on 2023-12-11. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Abdulkadir Furkan Şanlı d1c98cd9c7
Update TODO.md
2018-12-19 22:39:24 +01:00
.gitignore Add documentation and rename main file 2018-11-03 10:07:26 +01:00
ib-clearance.py Minor fixes and add TODO.md 2018-12-13 10:00:22 +01:00
LICENSE Add LICENSE 2018-10-23 14:59:11 +00:00
README.md Update README.md 2018-12-16 10:48:40 +00:00
TODO.md Update TODO.md 2018-12-19 22:39:24 +01:00

ib-clearance

ib-clearance is a program which helps schools manage the entrance and exiting of their IB students. Due to the unique nature of IB students' timetables, the program helps check individual timetables and give clearance to students who have finished for the day.

Building

The code is currently designed to run on Python 3.6.*.

I recommend building executables with pyinstaller with pyinstaller --onefile ib-clearance.py.

Database specification

The program requires SQLite databases for each IB class.

Each database must contain:

Table Description
students Contains students' names, ID numbers and class preferences
timetable Timetable information for class

students

Column Data type Description
id INTEGER Student ID number used in program
g1 TEXT Group 1 subject ID
g2 TEXT Group 2 subject ID
g3 TEXT Group 3 subject ID
g4 TEXT Group 4 subject ID
g5 TEXT Group 5 subject ID
g6 TEXT Group 6 subject ID
name TEXT Full name of student

timetable

Column Data type Description
day TEXT Day of the week (e.g. monday)
end_time TEXT Ending time of lesson (e.g. 09:55, 13:05)
lesson_id TEXT Subject ID of the lesson (e.g. tok)

Subject IDs

Subject IDs may be anything, as long as consistency is maintained throughout the tables. There are two hard-coded IDs that are always taken by every student:

Subject ID
Theory of Knowledge tok
Guidance gu

License

Copyright (C) 2018 Abdulkadir Furkan Şanlı

ib-clearance is made available under the Apache License 2.0.