HomeIdentityEngineeringContact
Back to All Projects
MAJORSIH Entry07 / 10

Student ERP

Comprehensive student lifecycle management platform — admissions, courses, hostel allocation, fee tracking, exams, and PDF report generation under a unified 3-tier RBAC system.

PythonFlaskPostgreSQLSQLAlchemyReportLabJinja2
View Source
Solo Project Inter-College Hackathon
6
Core Modules
3-Tier
RBAC System
PDF
Report Generation
Flask
Python Backend

The Challenge

Indian universities manage student data across disconnected spreadsheets and paper registers. The SIH problem required a unified digital platform covering the entire student lifecycle from admission to graduation.

  • Fragmented data — admissions, fees, hostel, exams all tracked separately
  • No role-based access — students, staff, and admin all see the same data
  • No automated reporting — fee receipts, exam results, hostel records generated manually
  • No room allocation logic — hostel beds assigned arbitrarily without occupancy tracking

Engineering Thinking

Designed as a modular monolith — each module (admissions, courses, hostel, fees, exams, reports) is a separate Flask blueprint with shared database models and authentication. This made development fast while keeping code organized.

Authentication uses decorator-based route protection — each endpoint is annotated with required role level (Student/Staff/Admin). The RBAC system uses Python decorators to wrap Flask routes, making access control declarative and easy to audit.

PDF generation via ReportLab produces professional fee receipts and exam reports. Jinja2 templating handles the dynamic HTML rendering with server-side data injection.

CHOSEN

Flask + SQLAlchemy modular monolith

6 blueprints, shared ORM models, decorator-based RBAC. Fast hackathon development with clean code organization.

REJECTED

Django with Django Admin

Django's admin UI is powerful but too opinionated. Needed full control over each module's UI for the hackathon demo.

Module Breakdown

Admissions

Student registration, document upload, admission status tracking, and enrollment confirmation.

Courses

Course catalog, student enrollment, faculty assignment, and attendance tracking per subject.

Hostel

Room allocation with occupancy tracking, block/floor/room hierarchy, and vacancy management.

Fees

Fee structure management, payment tracking, due alerts, and PDF receipt generation via ReportLab.

Exams

Exam scheduling, marks entry, grade computation, and result publication with PDF export.

Reports

Cross-module analytics — attendance summaries, fee defaulter lists, hostel occupancy reports.

What Broke & What I Learned

Challenge 01
6 Modules Solo Under Hackathon Pressure
Building admissions, courses, hostel, fees, exams, and reports alone under hackathon time constraints meant brutal scope management. Had to identify the minimum viable feature per module and cut everything else.
Lesson: In hackathons, breadth beats depth. Show 6 working modules with core features, not 2 polished ones.
Challenge 02
SQLAlchemy Relationship Complexity
6 modules meant deeply interconnected database models — students linked to courses, courses to exams, exams to fees, fees to receipts. Managing SQLAlchemy relationships and avoiding circular imports across Flask blueprints was the hardest architectural challenge.
Lesson: Plan your ORM model graph before writing any blueprint code. Circular dependencies in Flask blueprints are painful to debug.

What It Achieved

Outcome
Complete Student Lifecycle
Admission to graduation covered in one platform — 6 modules under a unified 3-tier RBAC system.
Outcome
PDF Report Generation
Fee receipts, exam results, and hostel records generated as professional PDF documents via ReportLab.
Outcome
SIH Hackathon Entry
Solo-built submission for Smart India Hackathon demonstrating full-stack Python/Flask capabilities.

Screenshots

Student ERP Dashboard
ERP Dashboard — Module Overview
*Note: These images are generated by AI, the images will be replaced new very soon
Previous
Online Compiler
Next
Inventory Management