← Back to full index
# Attendance Tracker

A Django web application that helps university students record classes per course and monitor their attendance percentage against a minimum requirement.

- Role: Sole Developer (Django)
- Date: Aug 2024
- Categories: project
- Tech: Python, Django, SQLite, HTML, CSS, Bootstrap
- GitHub: https://github.com/AmulyaJain2004/AttendanceTracker

## Overview

Universities commonly require a minimum attendance, and students often track it by hand. This application records each class and calculates the running attendance percentage for every course, so a student can see where they stand.

## Features

- Create and manage multiple courses.
- Record several classes per day, each with a date, a time slot and a status of attended, missed or cancelled.
- View the attendance percentage for each course.

## System Design

```mermaid
flowchart TD
    Browser(["Browser"]) --> Views["Django views<br/>index · create course · fill attendance · course detail"]
    Views --> Forms["Django forms<br/>one entry per class held that day"]
    Forms --> Records["AttendanceRecord<br/>course FK · date · time slot · yes / no / cancelled"]
    Records --> DB[("SQLite")]
    Course["Course<br/>attendance_percentage()"] --> DB
    Views --> Course
    Views --> Templates["Django templates + Bootstrap"]
```

- **Data model:** two entities, a course and an attendance record linked to it by a foreign key. Each record stores the date, a time slot and one of three statuses.
- **Calculation:** the percentage lives on the course model as attended classes divided by total classes. Cancelled classes are excluded from the total, so they do not count against the student.
- **Flow:** the student chooses how many classes were held that day, and the app generates one form row per class before saving the records.
- **Interface:** server-rendered Django templates styled with Bootstrap, on a SQLite database.

## Status

This is a personal, early-stage learning project that I developed on my own. It does not yet include user accounts, exports or notifications, all of which are planned in the repository roadmap. It has not been deployed publicly.

---

Back to the full index: /agent