Complete guide to the Smart Attendance Management Platform
AttendEase is a multi-tenant, cloud-ready attendance management platform built on ASP.NET 8.0 Minimal API with a PostgreSQL database. It serves educational institutions with role-based dashboards for SuperAdmins, Admins, Faculty, Students, and Parents.
Run multiple institutions on a single deployment with fully isolated data, custom branding, and independent admin control.
Interactive Chart.js dashboards with course-wise breakdowns, doughnut charts, and configurable time-range filters.
JWT bearer tokens, BCrypt password hashing, role-based access control, and cross-tenant email login.
Glassmorphism design with dark/light mode, DataTables, toast notifications, and mobile-first responsive layout.
Manages all tenants, admins, dashboard stats, user impersonation, and platform-wide settings.
Manages departments, courses, subjects, students, users, timetables, tags, custom pages, and attendance reports.
Marks attendance (course + activity), views personal timetable with auto-period detection, generates reports.
Views personal dashboard with attendance %, breakdown charts, activity attendance, timetable, and custom pages.
Looks up student attendance by roll number with detailed records, charts, and statistics.
AttendEase supports two attendance modes:
Mark attendance by CourseSubject (course+semester+subject), date, and period. Teachers scoped to assigned subjects. Idempotent — re-submission replaces records.
Mark extracurricular attendance by Tag (NCC, NSS, Sports). Only "Extracurricular" type tags eligible. Tracks students assigned to the activity tag.
Default statuses: ● Present, ● Absent, ● Late. Admins can add custom statuses with any color code.
Tags provide a flexible categorization system with two types:
Tags feature color-coded chips, bulk student assignment, and CSV auto-creation during student import.
Admins can create custom HTML pages with advanced visibility controls:
AttendEase exposes ~105 RESTful API endpoints. Key groups:
| Method | Endpoint | Description | Auth |
|---|---|---|---|
| POST | /api/auth/login | Login with username/email + password | Public |
| POST | /api/auth/register | Self-register as Teacher/Student/Parent | Public |
| POST | /api/auth/register-tenant | Register new institution | Public |
| GET | /api/auth/me | Current user profile | Any |
| GET | /api/tenants | List all tenants | SuperAdmin |
| GET | /api/students | List students with filters | Admin+ |
| POST | /api/students/bulk-upload | CSV bulk import students | Admin |
| POST | /api/Attendence/bulk | Bulk mark course attendance | Admin/Teacher |
| POST | /api/Attendence/bulk-activity | Bulk mark activity attendance | Admin/Teacher |
| GET | /api/Attendence/report | Aggregated attendance report | Admin/Teacher |
| GET | /api/timetable/my | Faculty personal timetable | Teacher |
| GET | /api/timetable/current-period | Auto-detect current period | Teacher |
| GET | /api/notice-hub/my | User's visible notices | Any |
| GET | /api/tags | List active tags | Any |
Full API includes CRUD for departments, courses, subjects, semesters, academic years, periods, holidays, course-subjects, users, tags, tag-types, custom pages, and attendance statuses.
ASP.NET 8.0 Minimal API, Entity Framework Core 8, PostgreSQL, JWT Authentication, BCrypt Hashing
HTML5/CSS3/JS, TailwindCSS 4.x, jQuery 3.7.1, DataTables 2.3.2, Chart.js 4.4.9, Google Inter Font
EF Core Global Query Filters + TenantProvider service. Every query auto-scoped to current tenant via JWT TenantId claim.
Docker containerization, dotnet ef migrations, Python data generator (Faker), pg_db_copy.py for backups