RoomKitBackend
Backend Overview
Overview of the @roomkit/nestjs package
The @roomkit/nestjs package provides a complete room booking engine for NestJS applications.
What's Included
| Component | Description |
|---|---|
RoomKitModule | NestJS dynamic module for registration |
BookingService | Booking creation, lifecycle management, delegation |
AvailabilityService | Room availability search and next-slot finder |
ConflictService | Overlap detection, alternatives, priority resolution |
RecurrenceService | Series expansion and recurring booking management |
LocationService | Location hierarchy CRUD, tree building, alias resolution |
RoomService | Room CRUD, equipment, accessibility, partitions |
BlackoutService | Blackout window management and impact analysis |
ConfigService | Cascading configuration with hierarchy inheritance |
AuditService | Booking state-transition history and audit log queries |
PriorityService | Priority tier resolution and seeding |
TravelTimeService | Cross-campus travel time validation (optional) |
ExamService | Exam session management with layout-aware capacity (optional) |
BulkOperationService | Semester import, date shifting, batch cancel (optional) |
BookingStateMachine | State transition validation |
EventBus | Typed domain event bus with 12 event types |
| Prisma Adapter | Composite storage adapter for all entity types |
Peer Dependencies
{
"@nestjs/common": "^10.0.0 || ^11.0.0",
"@nestjs/core": "^10.0.0 || ^11.0.0"
}Optional Peer Dependencies
| Package | Used For |
|---|---|
@prisma/client | Prisma storage adapter |