57 lines
2.2 KiB
Markdown
57 lines
2.2 KiB
Markdown
# 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 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. `ena`) |
|
||
|
||
#### 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.
|