A web-based assignment tracking system for Arts and Science College, rebuilt in React with an Express REST API backend.
- Frontend: React 19 + Vite + React Router
- Backend: Node.js, Express 5 (REST API)
- Data Storage: JSON files
- Excel Export: SheetJS (xlsx)
- Session: express-session
- Dashboard — Overview of all assignments, submissions, pending/late tasks with filters
- User Management — Add, edit, delete students & teachers; filter by role/level/department
- Student Promotion — Promote students to next semester/year, auto-archive passed-out students
- Passed Out Students — View and export passed-out student records
- Configuration — Manage departments, levels, and year structures
- Excel Export — Download user lists and passed-out records as
.xlsx
- Dashboard — View assignments with per-student progress, filter by department/year/subject
- Create & Edit Assignments — Assign by department, year, level, subject with due dates
- View Submissions — See per-student submission status, mark as checked/unchecked
- Calendar View — Visual calendar of assignment due dates
- Student Directory — Browse students, view individual progress, download as Excel
- Assessment History — View archived records of promoted/passed-out students
- Dashboard — View personal assignments with status (Pending/Submitted/Late), filter by subject
- Submit Work — Submit assignment links
- Calendar View — See assignment deadlines on a calendar
- Node.js v18 or later
cd server
npm install
npm startThe API runs on http://localhost:3001
cd client
npm install
npm run devThe app opens at http://localhost:5173
| Role | Username | Password |
|---|---|---|
| Admin | psvasc-admin |
psvasc@123 |
| Teacher | teacher-13353 |
psvasc@123 |
| Student | 1234-ds |
psvasc@123 |
All data is stored as JSON files in server/data/:
users.json— Active users (admin, teachers, students)assignments.json— Active assignmentssubmissions.json— Student submissionsstudentLogs.json— Per-student assignment countspassedout.json— Archived passed-out studentsassessmentHistory.json— Archived assessment recordsconfig.json— College configuration (departments, levels, years)