A comprehensive Learning Management System featuring course management, online examinations, and automated grading capabilities.
├── backend/
│ ├── database/
│ │ ├── migrations.ts # Database schema setup
│ │ └── queries.ts # Database query functions
│ ├── routes/
│ │ ├── auth.ts # Authentication endpoints
│ │ ├── courses.ts # Course management
│ │ ├── exams.ts # Exam management
│ │ ├── submissions.ts # Exam submissions
│ │ └── static.ts # Static file serving
│ └── index.ts # Main API server
├── frontend/
│ ├── components/
│ │ ├── App.tsx # Main application
│ │ ├── Dashboard.tsx # User dashboard
│ │ ├── CourseList.tsx # Course listing
│ │ ├── ExamTaker.tsx # Exam interface
│ │ └── GradeBook.tsx # Grades and results
│ ├── index.html # Main HTML template
│ ├── index.tsx # Frontend entry point
│ └── style.css # Styling
└── shared/
└── types.ts # Shared TypeScript types
POST /api/auth/register - User registrationPOST /api/auth/login - User loginPOST /api/auth/logout - User logoutGET /api/auth/me - Get current userGET /api/courses - List all coursesPOST /api/courses - Create new course (instructors only)GET /api/courses/:id - Get course detailsPOST /api/courses/:id/enroll - Enroll in courseGET /api/courses/:id/exams - List course examsPOST /api/courses/:id/exams - Create new examGET /api/exams/:id - Get exam detailsPOST /api/exams/:id/submit - Submit exam answersGET /api/exams/:id/submissions - Get exam submissions (instructors)GET /api/submissions/:id - Get specific submission details