How arun-devcode/cohort-analysis-platform works
This is a student-progress platform for managing training batches and reviewing learner outcomes across uploaded workbook snapshots. The main workflow is to authenticate, upload a report, ingest it into a batch snapshot, and explore analytics, comparisons, attendance, assignments, content consumption, at-risk learners, and reports. Follow-ups, student profiles, settings, and backup are additional product areas. The tree and excerpts show several server-side call paths; most frontend wiring and unsampled service internals are not shown, so those links are omitted or marked unverified.
Main entry points: index.ts PostgreSQL data · client.ts API client · batch.routes.ts Batch API routes · App.tsx Application shell
Components 21
Web client
- Application shell
app/src/App.tsx - Workbook upload
app/src/features/upload/UploadModal.tsx - Workbook parsing
app/src/core/parsers/workbookParser.ts - API client
app/src/core/api/client.ts - Authentication
app/src/features/auth/AuthPage.tsx - Progress dashboard
app/src/features/dashboard/OverviewDashboard.tsx - Snapshot comparison
app/src/features/compare/CompareView.tsx
API and access
- Batch API routes
server/src/routes/batch.routes.ts - Batch operations
server/src/controllers/batch.controller.ts - Account operations
server/src/controllers/auth.controller.ts - Token and password service
server/src/services/auth.service.ts
Workbook ingestion
- Upload handling
server/src/controllers/upload.controller.ts - Workbook ingestion
server/src/services/ingestion/index.ts
Progress insights
- Analytics endpoints
server/src/controllers/analytics.controller.ts - Analytics calculations
server/src/services/analytics - Report export
server/src/services/report.service.ts
Learner operations
- Follow-up operations
server/src/controllers/followup.controller.ts - Follow-up rules
server/src/services/followup.service.ts - Student records
server/src/services/student.service.ts - PostgreSQL data
server/src/db/schema/index.ts
Other components
- Platform user
Connections 22
- Platform user → Application shell: uses
- Application shell → Workbook upload: offers upload
- Workbook upload → Workbook parsing: parses workbook
- Application shell → API client: calls API
- API client → Batch API routes: HTTP requests
- Batch API routes → Batch operations: dispatches
server/src/routes/batch.routes.ts - Batch API routes → Upload handling: dispatches upload
server/src/routes/batch.routes.ts - Batch API routes → Analytics endpoints: dispatches analytics
server/src/routes/batch.routes.ts - Batch operations → PostgreSQL data: reads and writes
- Upload handling → Workbook ingestion: ingests workbook
server/src/controllers/upload.controller.ts - Upload handling → PostgreSQL data: queries and inserts
server/src/controllers/upload.controller.ts - Account operations → Token and password service: verifies and signs
server/src/controllers/auth.controller.ts - Account operations → PostgreSQL data: loads accounts
- Authentication → API client: submits credentials
- Progress dashboard → API client: requests summaries
- Snapshot comparison → API client: requests comparison
- Analytics endpoints → Analytics calculations: calculates insights
- Analytics endpoints → Report export: exports report
- Follow-up operations → Follow-up rules: delegates
server/src/controllers/followup.controller.ts - Follow-up rules → PostgreSQL data: persists follow-ups
- Student records → PostgreSQL data: accesses records
- Workbook ingestion → PostgreSQL data: stores snapshots