How dhtphu05/dut-job-fair-backend works
DUT Job Fair Backend is a NestJS API for event operations. Its central scanner workflow is an authenticated scanner client submitting a student QR scan, after which scanner APIs record or retrieve booth check-ins; school and business admins inspect attendance, dashboards, and exports. Separate API domains manage event participants and venues, schools, and reward milestones and claims. Authentication handles role-based access and refreshable sessions. The README documents PostgreSQL/TypeORM and additional domain capabilities; service-level wiring beyond the supplied excerpts is not asserted.
Main entry points: app.module.ts Application modules · auth.service.ts Auth service · guards JWT and role guards · scanner.controller.ts Scanner API
Components 26
API runtime
- NestJS bootstrap
src/main.ts - Application modules
src/app.module.ts - Domain entities
src/entities
Identity and access
- Auth API
src/auth/auth.controller.ts - Auth service
src/auth/auth.service.ts - JWT and role guards
src/auth/guards
Event operations
- Scanner API
src/scanner/scanner.controller.ts - Scanner service
src/scanner/scanner.service.ts - Check-in API
src/checkin/checkin.controller.ts - Check-in service
src/checkin/checkin.service.ts - Students API
src/students/students.controller.ts - Students service
src/students/students.service.ts - Businesses API
src/businesses/businesses.controller.ts - Businesses service
src/businesses/businesses.service.ts - Booths API
src/booths/booths.controller.ts - Booths service
src/booths/booths.service.ts - Schools API
src/schools/schools.controller.ts - Schools service
src/schools/schools.service.ts
Admin operations
- School admin API
src/school-admin/school-admin.controller.ts - School admin service
src/school-admin/school-admin.service.ts - Business admin API
src/business-admin/business-admin.controller.ts - Business admin service
src/business-admin/business-admin.service.ts
Rewards
- Rewards API
src/rewards/rewards.controller.ts - Rewards service
src/rewards/rewards.service.ts
Other components
- API clients
- PostgreSQL
Connections 28
- API clients → NestJS bootstrap: sends API requests
- NestJS bootstrap → Application modules: starts
- Application modules → Auth API: registers routes
- Application modules → Scanner API: registers routes
- Application modules → Check-in API: registers routes
- Application modules → Students API: registers routes
- Application modules → Businesses API: registers routes
- Application modules → Booths API: registers routes
- Application modules → Schools API: registers routes
- Application modules → School admin API: registers routes
- Application modules → Business admin API: registers routes
- Application modules → Rewards API: registers routes
- Auth API → Auth service: calls
- Auth service → Domain entities: reads and writes
- Auth service → PostgreSQL: persists sessions and users
- JWT and role guards → Auth service: validates access
- Scanner API → JWT and role guards: guards requests
- Scanner API → Scanner service: calls
- Check-in API → Check-in service: calls
- Students API → JWT and role guards: guards requests
- Students API → Students service: calls
- Businesses API → Businesses service: calls
- Booths API → Booths service: calls
- Schools API → Schools service: calls
- School admin API → School admin service: calls
- Business admin API → Business admin service: calls
- Rewards API → JWT and role guards: guards protected routes
- Rewards API → Rewards service: calls