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
2023-06-18 21:06:17 +08:00
.github/workflows Update main.yml 2021-10-27 18:30:10 +08:00
import_templates Added Import Templates 2022-02-26 22:15:52 +08:00
static Chg loading GIF to WEBM & Put in footer.html 2021-10-28 19:13:26 +08:00
temp Day 2, added homeroom vie, date selection, and signatures (pending homeroom confirmation) 2021-09-10 22:30:39 +08:00
templates Chg loading GIF to WEBM & Put in footer.html 2021-10-28 19:13:26 +08:00
.env.example Add example env 2022-02-26 22:22:52 +08:00
.gitattributes Create .gitattributes 2022-05-17 21:05:30 +08:00
.gitignore Finish edit functionality (limit admin) 2021-10-26 22:29:39 +08:00
app.py Fix not deleting old user issue 2021-11-01 19:14:32 +08:00
functions.py Finish edit functionality (limit admin) 2021-10-26 22:29:39 +08:00
manage.py Finish edit functionality (limit admin) 2021-10-26 22:29:39 +08:00
README.md Create README.md 2022-02-26 22:03:59 +08:00
requirements.txt Bump flask from 2.0.1 to 2.3.2 2023-05-01 23:13:30 +00:00
upload.py Fix not deleting old user issue 2021-11-01 19:14:32 +08:00

Attendance

This is the attendance system I made for my school. It was used for about half a semester stably but was later dropped because the school's IT department decided the services this utilized was not suitable to our school's infrastructure.

I also created a much more robust version 2 with MySQL, but was never presented.

Technologies used

  • Flask
  • Mailgun (for FORGET password)
  • v1 only technologies
    • Pyrebase (Firebase Realtime Database + Authentication)
  • v2 only technologies
    • MySQL
    • Flask_Admin
    • SQL Alchemy
    • OpenPyXL

v1 Screenshots

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