How bangnk2000/event-system-be works
This is a NestJS backend for internal company events. Users manage event lifecycles and registrations, then use supporting features for budgets, surveys, tournaments, and notifications. The README documents a CQRS flow: HTTP commands reach handlers and aggregates, state and outbox events persist transactionally, and queries read models. The six contexts are represented as cohesive product components; detailed command wiring was not sampled, so internal links are limited to relationships stated in the README. The notification adapter and event publication path are documented, but their implementation details are not shown.
Main entry points: ddd Command handling · modules HTTP API · outbox.relay.ts Outbox relay · notification Notification preferences
Components 17
Event operations
- Event lifecycle
src/modules/event - Registration and check-in
src/modules/participation
Supporting capabilities
- Budget tracking
src/modules/budget - Post-event surveys
src/modules/survey - Sports tournaments
src/modules/competition - Notification preferences
src/modules/notification - ChatWork adapter
src/modules/notification/adapters/chatwork.adapter.ts
Application runtime
- HTTP API
src/modules - Command handling
src/libs/ddd - Aggregates and rules
src/modules - Query handling
src/modules
Persistence and events
- PostgreSQL
src/database.module.ts - Transactional outbox
src/libs/outbox/outbox.entity.ts - Outbox relay
src/libs/outbox/outbox.relay.ts - Event emitter
Other components
- Event organizer
- Event participant
Connections 12
- Event organizer → HTTP API: uses API
README.md - Event participant → HTTP API: uses API
README.md - HTTP API → Command handling: dispatches commands
README.md - Command handling → Aggregates and rules: invokes rules
README.md - Command handling → PostgreSQL: writes state
README.md - HTTP API → Query handling: dispatches queries
README.md - Query handling → PostgreSQL: reads models
README.md - Command handling → Transactional outbox: writes events
README.md - Outbox relay → Transactional outbox: polls messages
README.md - Outbox relay → Event emitter: publishes events
README.md - Event emitter → Notification preferences: notifies handlers
README.md - Notification preferences → ChatWork adapter: sends messages
README.md