https://github.com/mirsazzathossain/automate-seat-plan
Automate the Boring Stuff 🥱 with Python.😎
https://github.com/mirsazzathossain/automate-seat-plan
Last synced: 6 months ago
JSON representation
Automate the Boring Stuff 🥱 with Python.😎
- Host: GitHub
- URL: https://github.com/mirsazzathossain/automate-seat-plan
- Owner: mirsazzathossain
- License: mit
- Created: 2023-08-31T21:21:08.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-08-31T21:51:16.000Z (about 2 years ago)
- Last Synced: 2025-02-14T01:37:53.935Z (8 months ago)
- Language: Python
- Homepage:
- Size: 9.77 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
#### Automate the Boring Stuff with Python
This repository contains the code for automatically prepare seatplans for exams. It will read the student list and room names from csv files and generate a seatplan for each room along with a signatur sheet for the room supervisor. The result will be saved as docx and pdf files in the `results` folder.
#### Data requirements
The student list must be a csv file with the following columns:
- `ID`: Student ID
- `Name`: Student name
- `Section`: Section numberThe room list must be a csv file with the following columns:
- `Rooms`: Room name
The csv files must be saved in the `data` folder.
In addition, the configuration file `config.yaml` must be updated with the correct file names and other parameters.
- course_code: Short course code
- exam_type: Exam type (Midterm/Final)
- semester: Semester (Fall/Spring/Summer)
- year: YearFor example, if the course code is `CSE110`, exam type is `Midterm`, semester is `Fall` and year is `2019`, then the configuration file should look like this:
```yaml
rooms_file_path: data/rooms.csv
students_file_path: data/students.csv
course_code: CSE110
exam_type: Midterm
semester: Fall
year: 2019
```#### Usage
Create a folder named `data` in the root directory and save the csv files in it as described above. Update the configuration file with the correct file names and other parameters. And finally, run the code.
To run the code, simply execute the following command:
```bash
python main.py --config config.yaml
```If everything goes well, the seatplans will be saved in the `output` folder.
#### Dependencies
- Python 3.6+
- python-docx
- docx2pdf
- pandas
- pyyaml#### Author
- [Mir Sazzat Hossain](https://mirsazzathossain.me)
#### License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.