How nguyenhao1312/unims_studentmanagement works
UniMS is a self-hosted university and student-management SPA backed by Django and SQL Server. Users enter through the review/login experience, authenticate, then use role-specific academic modules; the browser keeps encrypted local data and queues changes for server synchronization. The README documents role-based access, single-session enforcement, grades, registration, tuition, administration, exports, and an AI helpdesk. Source excerpts are partial, so links between individual views and backend endpoints are shown only where documented or directly evidenced.
Main entry points: dashboard.js Role dashboards · database.js Encrypted local store · models.py University data models · review.js Review and login
Components 22
Browser application
- Review and login
static/js/views/review.js - SPA router and shell
static/js/core/app.js - Encrypted local store
static/js/core/database.js - Offline sync queue
static/js/core/sync-queue.js
Identity and security
- Client authentication
static/js/core/auth.js - Session enforcement
student_management/middleware.py - Authentication views
student_management/views/auth.py
Academic workflows
- Role dashboards
static/js/views/dashboard.js - Student management
static/js/views/students.js - Teacher management
static/js/views/teachers.js - Classes and courses
static/js/views/classes.js - Course registration
static/js/views/registration.js - Grades and locks
static/js/views/grades.js - Tuition tracking
static/js/views/tuition.js
Server and persistence
- REST and sync views
student_management/views/api.py - Server sync handlers
student_management/views/sync.py - University data models
student_management/models.py
Support and operations
- Admin dashboard
student_management/views/admin_dashboard.py - Data exports
student_management/views/export.py - AI helpdesk
static/js/views/helpdesk.js
Other components
- Student, teacher, admin
- SQL Server
Connections 27
- Student, teacher, admin → Review and login: opens
- Review and login → Authentication views: posts login
- Review and login → Client authentication: starts session
- SPA router and shell → Client authentication: checks session
- Client authentication → Session enforcement: sends token
- Session enforcement → REST and sync views: guards requests
- SPA router and shell → Role dashboards: routes by role
- Role dashboards → Student management: opens module
- Role dashboards → Teacher management: opens module
- Role dashboards → Classes and courses: opens module
- Role dashboards → Course registration: opens module
- Role dashboards → Grades and locks: opens module
- Role dashboards → Tuition tracking: opens module
- Student management → Encrypted local store: reads and writes
- Teacher management → Encrypted local store: reads and writes
- Classes and courses → Encrypted local store: reads and writes
- Course registration → Encrypted local store: reads and writes
- Grades and locks → Encrypted local store: reads and writes
- Tuition tracking → Encrypted local store: reads and writes
- Encrypted local store → Offline sync queue: queues changes
- Offline sync queue → Server sync handlers: sends updates
- REST and sync views → University data models: reads and writes
- Server sync handlers → University data models: applies changes
- University data models → SQL Server: persists
- Admin dashboard → University data models: manages records
- Data exports → University data models: reads records
- Student, teacher, admin → AI helpdesk: asks questions