- Create
BackendAcademy/src/sessions/attendance.entity.tsusing TypeORM. - Decide primary key and fields:
sessionKey,userId,joinedAt,leftAt,durationSeconds.
- Create
BackendAcademy/src/sessions/attendance.service.ts. - Add methods:
join,leave,getSessionStats. - Join is idempotent per
(sessionKey,userId)while active.
- Create
BackendAcademy/src/sessions/dto/join-session-attendance.dto.ts. - Create
BackendAcademy/src/sessions/dto/leave-session-attendance.dto.ts. - Create
BackendAcademy/src/sessions/dto/get-session-attendance-stats.dto.ts(if needed). - Create
BackendAcademy/src/sessions/attendance.controller.tswith endpoints:POST /api/v1/sessions/attendance/joinPOST /api/v1/sessions/attendance/leaveGET /api/v1/sessions/attendance/:sessionKey/stats
- Create
BackendAcademy/src/sessions/sessions.module.tsand register TypeORM entity + providers.
- Update
BackendAcademy/src/app.module.tsto importSessionsModule.
- Run
npm run build(ornpm test) insideBackendAcademy.
- Step 1-5 implemented (sessions module + attendance tracking).