How vishwajith-gs/co works
This repository is a web application for automating course-outcome attainment work, with faculty and administrator interfaces. Users authenticate, manage subjects and course files, run processing, and access resulting reports; administrators also manage faculty, assignments, reviews, and activity. The backend provides the API and persistent records, while the frontend API client connects the pages to it. The tree suggests separate consolidation and attainment stages, but their invocation and detailed data flow are not visible in the sampled source, so those links are left conservative.
Main entry points: server.js Express server · App.jsx App and routes · api.js API client · index.js Model associations
Components 24
Web interface
- App and routes
frontend/src/App.jsx - Faculty dashboard
frontend/src/pages/Dashboard.jsx - Subject workspace
frontend/src/pages/SubjectWorkspace.jsx - Reports and settings
frontend/src/pages/Reports.jsx - Admin dashboard
frontend/src/pages/AdminDashboard.jsx - API client
frontend/src/lib/api.js
API and access
- Express server
backend/server.js - Authentication routes
backend/routes/auth.js - JWT authentication
backend/middleware/auth.js - Subject routes
backend/routes/subjects.js - Upload routes
backend/routes/uploads.js - Admin routes
backend/routes/admin.js - Configuration routes
backend/routes/configuration.js
Attainment workflow
- Processing routes
backend/routes/processing.js - Consolidation stage
backend/stage3_consolidate.py - Attainment stage
backend/stage4_attainment.py - Report routes
backend/routes/reports.js - Python executor
backend/utils/pythonExecutor.js - File management
backend/utils/fileManager.js
Persistence
- Model associations
backend/models/index.js - SQLite database
backend/config/database.js - Uploaded files
- Generated outputs
Other components
- Faculty or admin
Connections 30
- Faculty or admin → App and routes: uses
- App and routes → Faculty dashboard: routes to
- App and routes → Subject workspace: routes to
- App and routes → Reports and settings: routes to
- App and routes → Admin dashboard: routes to
- Faculty dashboard → API client: requests data
- Subject workspace → API client: requests data
- Reports and settings → API client: requests data
- Admin dashboard → API client: requests data
- API client → Express server: sends requests
- Express server → Authentication routes: mounts
- Express server → Subject routes: mounts
- Express server → Upload routes: mounts
- Express server → Processing routes: mounts
- Express server → Report routes: mounts
- Express server → Admin routes: mounts
- Express server → Configuration routes: mounts
- Express server → Model associations: syncs
- Authentication routes → JWT authentication: protects selected routes
- Express server → JWT authentication: protects API routes
- Processing routes → Python executor: delegates execution
- Model associations → SQLite database: persists records
- File management → Uploaded files: manages files
- Express server → Uploaded files: serves uploads
- Express server → Generated outputs: serves outputs
- Python executor → Consolidation stage: runs stage
- Python executor → Attainment stage: runs stage
- Processing routes → Generated outputs: writes results
- Report routes → Model associations: reads report records
- Admin routes → Model associations: reads and writes