How pavitram239/automatic-code-assessment works
Automatic Code Assessment Platform is a MERN application for solving and managing programming assessments. A student signs in, opens an assigned problem, submits code for execution, reviews test results, and can track submissions or participate in contests. Faculty and administrators manage users, approvals, problems, and contests. The README documents Judge0-backed execution and profile/history capabilities; sampled source confirms the API entry point, compile routes, and several persistence operations. Other feature links reflect the documented product and repository paths; their implementation wiring was not sampled.
Main entry points: app.js Express API · submission.router.js Submission Routes · App.jsx Web Application · problem.router.js Problem Routes
Components 26
Student and Staff UI
- Web Application
client/src/App.jsx - Problem Workspace
client/src/componets/Problem/Problem.jsx - Code Editor
client/src/componets/CodeEditor/CodeEditor.jsx - History and Profile
client/src/componets/History.jsx - Contest Views
client/src/componets/Contest/Contest.jsx - Staff Views
client/src/componets/Faculty/Faculty.jsx
API and Identity
- Express API
server/app.js - Authentication Routes
server/routes/auth.js - Authentication Logic
server/controllers/auth.js
Assessment Workflow
- Problem Routes
server/routes/problem.router.js - Problem Management
server/controllers/problem.controller.js - Compile Routes
server/routes/compileRoutes.js - Code Execution API
server/controllers/compileController.js - Execution Worker
server/worker/codeexecution.js - Submission Routes
server/routes/submission.router.js - Submission Logic
server/controllers/submission.controller.js - Contest Routes
server/routes/contests.js - Contest Management
server/controllers/contestController.js
Administration
- Staff Routes
server/routes/faculty.router.js - Faculty Workflow
server/controllers/faculty.controller.js - Admin Routes
server/routes/admin.router.js - Admin Management
server/controllers/admin.controller.js
Other components
- Student
- Faculty and Admin
- Judge0
- MongoDB
Connections 30
- Student → Web Application: uses
- Faculty and Admin → Web Application: uses
- Web Application → Express API: API requests
- Express API → Authentication Routes: mounts
- Express API → Problem Routes: mounts
- Express API → Compile Routes: mounts
- Express API → Submission Routes: mounts
- Express API → Contest Routes: mounts
- Express API → Staff Routes: mounts
- Express API → Admin Routes: mounts
- Authentication Routes → Authentication Logic: dispatches
- Problem Routes → Problem Management: dispatches
- Compile Routes → Code Execution API: dispatches
- Submission Routes → Submission Logic: dispatches
- Contest Routes → Contest Management: dispatches
- Staff Routes → Faculty Workflow: dispatches
- Admin Routes → Admin Management: dispatches
- Problem Workspace → Code Editor: opens editor
- Code Editor → Compile Routes: submits code
- Code Execution API → Judge0: requests execution
- Judge0 → Execution Worker: runs jobs
- Problem Management → MongoDB: reads and writes
- Contest Management → MongoDB: reads and writes
- Submission Routes → MongoDB: reads and writes
- Faculty Workflow → MongoDB: reads and writes
- Authentication Logic → MongoDB: reads and writes
- Staff Views → Staff Routes: manages accounts
- Contest Views → Contest Routes: manages contests
- History and Profile → Submission Routes: loads history
- Problem Workspace → Problem Routes: loads problems