Our Tracking Attendance system is designed to streamline meeting check-ins and ensure fairness. It provides an efficient way for participants to mark their attendance while actively preventing common issues such as proxy attendance (checking in on behalf of others) and remote check-ins outside the meeting location. This helps organizations maintain accurate records, reduce fraud, and improve accountability in every session.
- Admin Account: Centralized interface for creating and managing meetings, attendance sessions, and participants.
- Role-Based Login: Users can log in with roles as either administrators or participants.
- Accurate Logging: Records attendance for each participant in real time.
- Fraud Prevention: Prevents proxy attendance (check-ins on behalf of others) and remote check-ins outside the meeting location.
- Excel Export: Generate and download attendance reports in Excel format for easy record-keeping and sharing.
- Detailed Statistics: Provides summary statistics of participant attendance across sessions.
- Participant Profiles: Store and manage participant information in a secure database.
- Account Suspension: Administrators can lock participant accounts if misuse or fraud is detected.
- Real-Time Alerts: Notify participants about upcoming meetings or attendance confirmation.
- Fraud Alerts: Notify administrators if suspicious activity is detected (e.g., multiple check-ins from one device).
What you need to run the project:
- Python 3.10+ – Required to run the FastAPI backend and related dependencies.
- PostgreSQL – Database engine used to store attendance and user data.
After installing Python, run the following commands to start experiencing this project:
# clone the project
git clone https://github.com/mpc-ou/tracking-attendance.git
# create virtual environment
python -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate
# install dependencies
pip install -r requirements.txt
# run database migrations
alembic upgrade head
# run server
uvicorn main:app --reloadCreate a .env file in the root directory based on .example.env and update the values as needed.
Here are some helpful resources and references for further information:
- FastAPI Documentation
- Alembic Documentation
- SQLAlchemy Documentation
- React Documentation
- Docker Documentation
Don't hesitate to contact me if you have any confusion or questions