How amitkio/insights works
Insights digitizes university result books: administrators upload PDFs, the backend extracts student and subject grades, stores results in isolated production or guest databases, and role-specific users explore dashboards, analytics, exports, and reports. The frontend also supports authentication, account and college administration, and public trend exploration. The README documents capabilities beyond the sampled source; those branches are represented at the nearest supported module or directory, while uncertain internal wiring is omitted.
Main entry points: main.py REST API · database.py Database sessions · components Role dashboards · AuthContext.tsx Client authentication
Components 17
Web experience
- Application routes
frontend/app/routes.ts - Role dashboards
frontend/app/components - Client authentication
frontend/app/context/AuthContext.tsx - Results API client
frontend/app/api/results.ts - Result exports
frontend/app/utils/result-manager.ts
Backend services
- REST API
backend/main.py - PDF parsing and SGPA
backend/helper.py - Data operations
backend/services/crud.py - Analytics rollups
backend/services/metrics.py
Result data
- Domain records
backend/models - Database sessions
backend/services/database.py - Production PostgreSQL
- Guest PostgreSQL
Identity and analytics
- JWT and Firebase auth
backend/services/auth.py - Firebase authentication
- Google signing keys
Other components
- Browser users
Connections 21
- Browser users → Application routes: opens views
- Application routes → Role dashboards: renders
- Role dashboards → Results API client: requests results
- Results API client → REST API: calls API
- Role dashboards → Result exports: prepares exports
- Result exports → Results API client: fetches results
- Browser users → Client authentication: signs in
- Client authentication → Firebase authentication: gets identity token
- Client authentication → REST API: submits credentials
- REST API → JWT and Firebase auth: authenticates
- JWT and Firebase auth → Google signing keys: fetches keys
- REST API → PDF parsing and SGPA: parses uploads
- REST API → Data operations: manages records
- REST API → Analytics rollups: records and rolls up
- REST API → Database sessions: opens sessions
- JWT and Firebase auth → Database sessions: uses production session
- Database sessions → Production PostgreSQL: routes standard data
- Database sessions → Guest PostgreSQL: routes guest data
- Data operations → Domain records: uses records
- Analytics rollups → Domain records: aggregates events
- PDF parsing and SGPA → Domain records: produces result data