b6990dd11b
feat: add student archive module with full CRUD APIs
2026-07-06 15:46:57 +08:00
2ce73b8fc3
feat: PM2 + Docker deployment config (MySQL container, PM2 for backend+frontend proxy)
2026-07-06 10:12:42 +08:00
7b298a615c
feat: complete PRD verification fixes and deployment readiness
...
- Add CommonModule to provide/export CampusScope across business modules
- Replace DepartmentsModule imports with CommonModule in 11 modules
- Add missing Class/Tenant repository imports to StudentsModule and SchedulesModule
- Fix service specs with CampusScope, ClassRepository, StudentRepository mocks
- Move better-sqlite3 to optionalDependencies for production Docker builds
- Rewrite Dockerfiles for monorepo root build context
- Update docker-compose.yml service build contexts
2026-07-06 01:55:35 +08:00
abcfbc6121
feat: add CampusScope request-level provider for data isolation
2026-07-05 23:50:22 +08:00
0e08770cf4
feat: add DepartmentsModule with DTO, Service, and stub controller
2026-07-05 23:47:41 +08:00
ce36a92482
fix: revert untracked ExpenseType refs, fix findByUser falsy cursor check
2026-07-05 23:05:25 +08:00
5f14b9ff15
feat: add NotificationsService with SSE subject pool
2026-07-05 23:01:26 +08:00
6737c00d96
fix: make JwtAuthGuard global to run before PermissionGuard, skip @Public routes
2026-07-05 21:23:42 +08:00
eb82b269c1
fix: add missing Class/ClassStudent/ClassTeacher/DepositInstallment to TypeORM entities list
2026-07-05 20:55:36 +08:00
09580e4a4e
feat: P2-15 cron-based DingTalk/WeCom sync with logging and incremental sync
...
- Add @nestjs/schedule dependency
- Create SyncLog entity (platform, syncType, status, recordsCount, errorMessage, timestamps)
- Create SyncState entity for tracking lastSyncAt per platform
- SyncService with @Cron('0 2 * * *') daily scheduled sync
- Incremental sync: tracks last_sync_at per platform, passes to integration APIs
- Full/incremental mode determined by existence of prior sync
- SyncController: POST /sync/trigger (manual), GET /sync/logs (history)
- Register SyncModule in AppModule with ScheduleModule
2026-07-05 20:48:43 +08:00
b7117ddf2d
fix: review blockers — entity registration, session enum, conflict date-range, @Type decorators
2026-07-05 20:20:43 +08:00
b6e308ae2a
feat: add Attendance module with batch, summary, calendar, and dingtalk endpoints
2026-07-05 19:44:10 +08:00
037c0e07e0
feat: add Schedules module with conflict detection and weekly view
2026-07-05 19:21:37 +08:00
ec26cb5f5e
feat(classes): add ClassesController with operation logging and permission guards
2026-07-05 19:05:18 +08:00
4f4cee157a
chore: commit oxfmt formatting changes and verify artifacts
2026-07-02 15:55:09 +08:00
46a817503e
feat(task1): restructure directories for turborepo monorepo
...
- Move backend/ to apps/server/ via git mv
- Move frontend/ to apps/admin/ via git mv
- Create packages/typescript-config/ with base, nestjs, and react-vite presets
2026-07-02 15:05:12 +08:00