Welcome to the K.R. Mangalam University Aarambh Induction Portal. This web application is purpose-built to handle the orientation and induction program for incoming freshmen.
- Secure Session-Based QR Attendance: Cryptographically signed QR codes strictly bound to specific schools and induction sessions.
- Offline-First Capabilities (PWA): Designed to handle attendance marking in low-connectivity campus environments using local buffering mechanisms.
- Student Dashboard: Real-time updates on points (XP), club application status, maps, and schedules.
- Admin Command Center: Granular controls for issuing session-restricted QRs, managing student points, and handling club admissions.
- University Clubs & Societies Ecosystem: Built-in application forms for 14 distinctive university clubs. Integration of approval/re-application flows and automatic XP rewarding.
- Quiz Engine: Built-in contextual quiz system for induction day gamification.
- Backend: Python + Flask
- Database: SQLite (Currently migrating to Supabase/PostgreSQL for high-concurrency 5k+ student support)
- Frontend: HTML5, CSS3 (Custom Design System), JavaScript (ES6), Leaflet Map
- Deployment Strategy: Gunicorn + Nginx + Redis (Cache)
-
Clone the repository and navigate to the project root:
git clone <repository_url> cd krmu-aarambh/prototypes/prototype-2
-
Create and activate a virtual environment (recommended):
python -m venv venv # On Windows: venv\Scripts\activate # On macOS/Linux: source venv/bin/activate
-
Install the dependencies:
pip install -r requirements.txt
-
Initialize Database: The SQLite database (
database.sqlite) will automatically initialize when you run the application. Default test credentials will be populated. -
Start the Application:
python app.py
Open
http://localhost:5000in your web browser.
- Admin: Username:
admin| Password:admin - Student: Username:
student| Password:student
- Full Supabase (PostgreSQL) integration for robust, concurrency-safe transaction handling.
Workbox + IndexedDB Background Sync for complete offline QR scan queueing.(Implemented)- Redis-based caching to dramatically reduce database read ops during the opening rush.
- Real-time leaderboard and admin telemetry via Native WebSockets / Supabase Realtime.