This is the attendance system I made for my school. It was used for a semester as a test trial but was later dropped because the school's IT department decided the services this project utilized was not suitable to our school's infrastructure.
Find a file
2024-04-28 16:51:06 +08:00
.github/workflows Update main.yml 2021-10-27 18:30:10 +08:00
import_templates Added Import Templates 2022-02-26 22:17:14 +08:00
manage Added foolproof and edit format for export 2021-12-30 22:29:43 +08:00
static Added 2-step-ds; Export 2021-12-26 21:08:50 +08:00
temp fixed requirements and upload encoding 2024-04-28 16:51:06 +08:00
templates Added foolproof and edit format for export 2021-12-30 22:29:43 +08:00
.env.example Added example env 2022-02-26 22:21:10 +08:00
.gitattributes Create .gitattributes 2022-05-17 21:06:31 +08:00
.gitignore Added group class export namelist 2021-12-29 23:13:51 +08:00
.python-version fixed requirements and upload encoding 2024-04-28 16:51:06 +08:00
app.py Reformatted Files 2021-12-27 22:34:19 +08:00
db.sql Edit db.sql 2021-12-27 15:33:38 +08:00
export.py Added foolproof and edit format for export 2021-12-30 22:29:43 +08:00
functions.py Reformatted Files 2021-12-27 22:34:19 +08:00
login.py Reformatted Files 2021-12-27 22:34:19 +08:00
Python.gitignore fixed requirements and upload encoding 2024-04-28 16:51:06 +08:00
README.md Added README 2022-02-26 22:25:53 +08:00
requirements.txt fixed requirements and upload encoding 2024-04-28 16:51:06 +08:00
upload.py fixed requirements and upload encoding 2024-04-28 16:51:06 +08:00

Attendance

This is the much more robust version 2 with MySQL, but was never presented.

Technologies used

  • Flask
  • Mailgun (for FORGET password)
  • MySQL
  • Flask-Admin
  • SQL Alchemy
  • OpenPyXL

v1 Introduction

This is a link to the slides I used to present the system to our teachers

v2 Improvements

After collecting feedback on v1, I created v2 with the intention of making teachers' lives easier. It's a shame v2 did not make it to production.

Main improvements include:

  • Din-Shin (This is our school's special grading system, where every teacher can give a score on a scale of 1-5 depending on how the students behave in that period)
    • This can save another piece of paper
  • Pre-recorded absence
    • The student's affairs office can record absence ahead of time
  • Different absent types
    • A student will have many reasons for their absence: sick, official, etc.
  • A robust database manager powered by Flask-Admin
  • Everyone has their individual note area (not share a big area)
  • Substitute class
    • Sometimes even teachers have things to deal with. They can switch classes with other teachers, and the attendance system will still work fine.
  • Student have their own account for checking their records and make sure everything is correct.
  • Group classes are "grouped" into one button instead of appearing separately in the dropdown.

v2 Screenshots