CourseKitBackend
Backend Overview
Overview of the @hfu.digital/coursekit-nestjs package
The @hfu.digital/coursekit-nestjs package provides a complete timetable engine for NestJS applications.
What's Included
| Component | Description |
|---|---|
CourseKitModule | NestJS dynamic module for registration |
RecurrenceService | RRULE parsing, validation, and occurrence materialization |
ConflictService | Constraint pipeline for conflict detection and dry-run previews |
AvailabilityService | CRUD and availability checks for instructors and rooms |
QueryService | Schedule queries and free-slot search |
TimeService | Time overlap, gap, and range utilities |
OverlapConstraint | Detects instructor and room double-bookings |
CapacityConstraint | Checks room capacity against group size |
AvailabilityConstraint | Checks events against entity availability rules |
| Prisma Adapters | Storage adapters for all entity types |
| Testing Utilities | In-memory adapters, factories, fixtures, and assertion helpers |
Peer Dependencies
{
"@nestjs/common": "^10.0.0 || ^11.0.0",
"@nestjs/core": "^10.0.0 || ^11.0.0",
"@nestjs/event-emitter": "^2.0.0",
"rxjs": "^7.0.0",
"class-validator": "^0.14.0",
"class-transformer": "^0.5.0"
}Optional Peer Dependencies
| Package | Used For |
|---|---|
@prisma/client | Prisma storage adapters |
rrule | Recurrence rule processing (bundled) |