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ı 4f863ab71d
Add forgotten import
2019-01-17 18:31:22 +01:00
.gitignore Handle ValueError. 2018-12-26 21:03:01 +01:00
ib-clearance.py Add forgotten import 2019-01-17 18:31:22 +01:00
LICENSE Change 2018 to 2019. 2019-01-11 23:31:38 +01:00
README.md Change 2018 to 2019. 2019-01-11 23:31:38 +01:00
TODO.md Properly document the damn thing. 2019-01-11 15:06:35 +01:00

ib-clearance

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

Building & running

The code is currently designed to run on Python 3.6.* and requires the getch module on platforms other than Windows.

Binaries can be built using pyinstaller: pyinstaller --onefile ib-clearance.py

Database specification

The program requires a SQLite database database.db in the working directory, containing data for all school classes.

database.db must contain:

Table Description
students Contains students' names, ID numbers and subject preferences
timetable Timetable information (lessons)

students

Column Data type Description
id INTEGER Student ID number used in program
student_class INTEGER IB class number (e.g. 1, 2)
name TEXT Full name of student
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
other TEXT ID(s) of other class(es) taken, space seperated

timetable

Column Data type Description
lesson_class INTEGER IB class which takes lesson (e.g. 1)
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.

License

Copyright (C) 2019 Abdulkadir Furkan Şanlı

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