How maxkepter/mini-project works
This is a full-stack exam-management application: users authenticate, browse exams, take them, save answers, submit work, and review history/results; administrators manage users, exams, and questions. NestJS controllers delegate to feature services, with domain entities and repositories representing persistence. The README documents additional capabilities such as analytics, bulk operations, and question categorization, but sampled implementation excerpts do not establish their internal wiring. Frontend-to-API connections are represented by feature correspondence; frontend service implementations were not sampled.
Main entry points: exam.service.js Exam client · admin Admin pages · auth.controller.ts Auth endpoints · auth.service.ts Auth service
Components 26
Nuxt application
- Login and registration
frontend/pages/auth - Exam browsing
frontend/pages/exam - Take exam
frontend/pages/exam/take/_examId.vue - Exam history
frontend/pages/exam/history - Admin pages
frontend/pages/admin - Auth client
frontend/services/auth.service.js - Exam client
frontend/services/exam.service.js - Student exam client
frontend/services/student-exam.service.js - User client
frontend/services/user.service.js
Identity and access
- Auth endpoints
backend/mini-project/src/modules/auth/auth.controller.ts - Auth service
backend/mini-project/src/modules/auth/auth.service.ts - Token service
backend/mini-project/src/modules/auth/token.service.ts
Exam authoring
- User endpoints
backend/mini-project/src/modules/user/user.controller.ts - Admin user endpoints
backend/mini-project/src/modules/user/admin.user.controller.ts - User service
backend/mini-project/src/modules/user/user.service.ts - Admin exam endpoints
backend/mini-project/src/modules/exam/admin-exam.controller.ts - Exam browsing endpoints
backend/mini-project/src/modules/exam/user-exam.controller.ts - Exam service
backend/mini-project/src/modules/exam/exam.service.ts - Question endpoints
backend/mini-project/src/modules/quesiton/admin.question.controller.ts - Question service
backend/mini-project/src/modules/quesiton/question.service.ts
Student exams
- Student exam endpoints
backend/mini-project/src/modules/student-exam/student-exam.controller.ts - Student exam service
backend/mini-project/src/modules/student-exam/student-exam.service.ts
Domain persistence
- Exam and user entities
backend/mini-project/src/domain/entities - Domain repositories
backend/mini-project/src/domain/repository - MSSQL database
Other components
- Student or admin
Connections 26
- Student or admin → Login and registration: starts session
- Student or admin → Exam browsing: browses exams
- Student or admin → Take exam: takes exam
- Student or admin → Exam history: reviews history
- Student or admin → Admin pages: manages system
- Login and registration → Auth client: uses auth
- Exam browsing → Exam client: requests exams
- Take exam → Student exam client: sends answers
- Exam history → Student exam client: requests history
- Admin pages → Exam client: manages exams
- Admin pages → User client: manages users
- Auth client → Auth endpoints: calls auth API
- Exam client → Exam browsing endpoints: calls exam API
- Exam client → Admin exam endpoints: calls admin API
- Student exam client → Student exam endpoints: calls student API
- User client → User endpoints: calls user API
- Auth endpoints → Auth service: delegates auth
- Auth endpoints → Token service: refreshes token
- Auth service → Token service: issues tokens
- Auth service → Domain repositories: uses user repository
- Admin user endpoints → User service: delegates user tasks
- User endpoints → User service: delegates profile
- Admin exam endpoints → Exam service: delegates exam tasks
- Exam browsing endpoints → Exam service: delegates exam queries
- Question endpoints → Question service: delegates questions
- Student exam endpoints → Student exam service: delegates exam actions