How rudra3086/codegrading works
Code Dashboard is a role-based programming education platform: students access practicals, write and run code, and submit work; teachers manage batches and practicals and grade submissions; administrators manage platform records. The frontend routes users to role-specific dashboards, while the Express backend handles authentication, course data, submissions, grading, and server-side execution. Student code also has an in-browser execution path and a JDBC-style database explorer. Sampled backend excerpts are incomplete, so uncertain endpoint-to-screen wiring is omitted.
Main entry points: App.jsx App Router · server.js Express API · StudentDashboard.jsx Student Dashboard · Login.jsx Login
Components 15
Dashboard UI
- App Router
frontend/src/App.jsx - Login
frontend/src/pages/Login.jsx - Sidebar
frontend/src/components/Sidebar.jsx
Course Workflow
- Student Dashboard
frontend/src/pages/StudentDashboard.jsx - Teacher Dashboard
frontend/src/pages/TeacherDashboard.jsx - Admin Dashboard
frontend/src/pages/AdminDashboard.jsx
Code Runtime
- Browser Runner
frontend/src/utils/clientRunner.js - Database Explorer
frontend/src/components/DatabaseExplorer.jsx - Monaco Editor
frontend/src/main.jsx - Local Toolchain
Backend Services
- Express API
backend/server.js - Prisma Records
backend/server.js - API Proxy
worker.js
Other components
- User
- Backend Host
Connections 18
- User → App Router: opens
- App Router → Login: shows
- App Router → Sidebar: renders
- App Router → Student Dashboard: routes student
- App Router → Teacher Dashboard: routes teacher
- App Router → Admin Dashboard: routes admin
- Login → Express API: authenticates
- App Router → Express API: changes password
- Student Dashboard → Express API: loads and submits
- Teacher Dashboard → Express API: manages and grades
- Admin Dashboard → Express API: manages records
- Express API → Prisma Records: reads and writes
- Student Dashboard → Monaco Editor: edits code
- Student Dashboard → Browser Runner: runs code
- Browser Runner → Database Explorer: exposes database UI
- Express API → Local Toolchain: spawns tools
- User → API Proxy: sends requests
- API Proxy → Backend Host: forwards API