How vd-phuc-2k5/elearning works
LearningHub is a learner-and-instructor platform combining a Next.js learning portal, a separate admin interface, and a NestJS API. The main user journey spans account access, finding learning content (question banks and roadmaps), practicing quizzes or coding, tracking attempts and progress, and participating in forums. Admins manage users, access controls, quiz banks, and coding problems. The tree and excerpts document these capabilities, but frontend-to-API wiring and most persistence implementations were not sampled, so those links are omitted.
Main entry points: (main) Learning interface · actions Admin actions · app.module.ts NestJS application · use-cases Quiz bank operations
Components 25
Learning portal
- Learning interface
LearningHub/apps/LearningHub/src/app/(main) - Sign-in and registration
LearningHub/apps/LearningHub/src/app/auth - Quiz practice
LearningHub/apps/LearningHub/src/app/(main)/quiz - Roadmap learning
LearningHub/apps/LearningHub/src/app/(main)/roadmaps - Coding playground
LearningHub/apps/LearningHub/src/app/(main)/playground - Community forums
LearningHub/apps/LearningHub/src/app/(main)/forum - Learning API client
LearningHub/apps/LearningHub/src/lib/api.ts
Administration
- Admin console
LearningHub/apps/AdminPage/src/app/tabs - Admin actions
LearningHub/apps/AdminPage/src/app/actions - Admin API client
LearningHub/apps/AdminPage/src/lib/admin-api.ts
API domains
- NestJS application
LearningHub/apps/api/src/app.module.ts - Quiz bank endpoints
LearningHub/apps/api/src/modules/quiz/presentation/controllers/quiz-bank.controller.ts - Quiz bank operations
LearningHub/apps/api/src/modules/quiz/application/use-cases - Excel question parsing
LearningHub/apps/api/src/modules/quiz/infrastructure/services/excel-parser.service.ts - Roadmap endpoints
LearningHub/apps/api/src/modules/roadmap/presentation/controllers/roadmap.controller.ts - Forum membership endpoints
LearningHub/apps/api/src/modules/forum/presentation/controllers/forum-membership.controller.ts - Forum membership operations
LearningHub/apps/api/src/modules/forum/application/use-cases - Coding problem endpoints
LearningHub/apps/api/src/modules/judge/presentation/controllers/coding-problem.controller.ts
Identity and access
- Auth endpoints
LearningHub/apps/api/src/modules/auth/presentation/controllers/auth.controller.ts - Auth use cases
LearningHub/apps/api/src/modules/auth/application/use-cases - Auth repository adapter
LearningHub/packages/data/src/lib/auth/repositories/AuthRepositoryImpl.ts - Auth repository contract
LearningHub/packages/domain/src/lib/auth/repositories/IAuthRepository.ts
Platform services
- Code execution endpoints
LearningHub/apps/api/src/modules/sandbox/presentation/controllers/sandbox.controller.ts - Sandbox operations
LearningHub/apps/api/src/modules/sandbox/application/use-cases
Other components
- Learner / instructor
Connections 16
- Learner / instructor → Sign-in and registration: signs in
- Learner / instructor → Learning interface: uses
- Learning interface → Quiz practice: opens quizzes
- Learning interface → Roadmap learning: opens roadmaps
- Learning interface → Coding playground: opens playground
- Learning interface → Community forums: opens forums
- Admin console → Admin actions: invokes
- Admin actions → Admin API client: uses
- Auth endpoints → Auth use cases: executes
- Quiz bank endpoints → Quiz bank operations: executes
- Excel question parsing → Quiz bank operations: parses uploads for
- Roadmap endpoints → NestJS application: registered by
- Forum membership endpoints → Forum membership operations: executes
- Coding problem endpoints → NestJS application: registered by
- Code execution endpoints → Sandbox operations: executes
- Auth repository adapter → Auth repository contract: implements