How duckmanz205/qlkientap works
QLKienTap manages the university’s factory-placement lifecycle: faculty plans terms and placements, students register or propose trips, lecturers supervise attendance and assessment, and faculty processes fees, results, and reporting. The React web portals call a NestJS API backed by SQL Server. The README also documents a developing AI service and Flutter client; their runtime wiring is not established by the sampled source, so those links are dashed. The sampled upload storage helper supports Cloudflare R2, but its caller is not shown.
Main entry points: App.jsx React web app · quan-ly-khoa.controller.ts Faculty API · khoa.service.ts Faculty operations · qlkt.entity.ts Domain entities
Components 29
User portals
- React web app
frontend/src/App.jsx - Student portal
frontend/src/pages/sinh-vien - Lecturer portal
frontend/src/pages/giang-vien - Faculty portals
frontend/src/pages/quan-ly-khoa - Login page
frontend/src/pages/Login.jsx - Flutter app
mobile
Identity and access
- Auth client
frontend/src/services/auth.service.js - Auth API
backend/src/auth/auth.controller.ts - Authentication
backend/src/auth/auth.service.ts - Role guards
backend/src/auth/guards/roles.guard.ts
Placement operations
- Student API
backend/src/sinh-vien/sinh-vien.controller.ts - Student operations
backend/src/sinh-vien/sinh-vien.service.ts - Faculty API
backend/src/khoa/quan-ly-khoa/quan-ly-khoa.controller.ts - CLB API
backend/src/khoa/clb/clb.controller.ts - Faculty operations
backend/src/khoa/shared/khoa.service.ts - Background tasks
backend/src/queue/task-queue.service.ts
Assessment and administration
- Lecturer API
backend/src/giang-vien/giang-vien.controller.ts - Lecturer operations
backend/src/giang-vien/giang-vien.service.ts - File uploads
backend/src/upload/upload.controller.ts - R2 storage helper
backend/src/upload/r2-storage.service.ts - Account administration
backend/src/khoa/qtv/qtv.controller.ts
Data and integrations
- Domain entities
backend/src/entities/qlkt.entity.ts - SQL Server
- Cloudflare R2
- AI service
ai-service/src/main.py
Other components
- Student
- Lecturer
- Faculty manager
- System administrator
Connections 35
- Student → React web app: uses
- Lecturer → React web app: uses
- Faculty manager → React web app: uses
- System administrator → React web app: uses
- React web app → Login page: routes
- React web app → Student portal: routes
- React web app → Lecturer portal: routes
- React web app → Faculty portals: routes
- Login page → Auth client: signs in via
- Auth client → Auth API: HTTP requests
- Auth API → Authentication: delegates
- Auth API → Role guards: guards routes
- Authentication → Domain entities: queries accounts
- Student portal → Student API: uses API
- Lecturer portal → Lecturer API: uses API
- Faculty portals → Faculty API: uses API
- Faculty portals → CLB API: uses API
- Student API → Student operations: delegates
- Faculty API → Faculty operations: delegates
- CLB API → Faculty operations: delegates
- Faculty API → Background tasks: enqueues tasks
- CLB API → Background tasks: enqueues tasks
- Lecturer API → Lecturer operations: delegates
- Account administration → Faculty operations: delegates
- File uploads → R2 storage helper: storage helper
- R2 storage helper → Cloudflare R2: stores files
- Student operations → Domain entities: queries data
- Faculty operations → Domain entities: queries data
- Lecturer operations → Domain entities: queries data
- Faculty operations → SQL Server: reads and writes
- Student operations → SQL Server: reads and writes
- Lecturer operations → SQL Server: reads and writes
- Authentication → SQL Server: reads and writes
- Flutter app → Faculty API: API access
- AI service → Faculty API: integration