Skip to content

Latest commit

 

History

History
51 lines (39 loc) · 1.8 KB

README.md

File metadata and controls

51 lines (39 loc) · 1.8 KB

Attendance Management System

Team Synergy:

  • Madhur Khandelwal
  • Siddharth Daftari
  • Seema Rohilla
  • Akshay Sonvane

Objective:

To create a an automated system that eliminates the manual process of attendance management.

System Components:

  1. Raspberry Pi
  2. Android App
  3. Django web application server
  4. MySQL Database

System Architecture Diagram:

alt tag

Features implemented:

  • Fault tolerant using replication of Raspberry Pi.
  • Dynamic leader election.
  • Notification via playback of a short musical note for each attendance marked.
  • Energy effecient mode; activates bluetooth scan only during class timing, by pulling class timings from the server periodically.
  • Rapberry Pi denies service to unauthorized students.(i.e. students who have not yet registered for that class)
  • E-Mail system integrated within the application for professor/authorised person.
  • Google OAuth used, no need to remember passwords or re-register.
  • Connection between android and Raspberry Pi using RFCOMM protocol.
  • Android app dynamically obtains the MAC address from the server before marking the attendance.
  • Protection against SQL injection on server side.
  • Followed MTV (Model Template View) architecture on the server.

Raspberry Pi setup:

  1. Copy the contents of the raspberryPi folder to the Raspberry Pi
  2. Run the setup scripts:
  3. cd to/the/copied/folder
  4. sudo ./oneTimeSetup.sh
  5. sudo ./bluetoothSetup.sh
  6. sudo ./keyboard.sh [Optional, if you want to install keyboard]
  7. Edit ./serverConf.json for your setup
  8. Run: python ./server.py

License:

This project is released under the MIT License.