What problem does it solve?
It solves the problem of creating a maintainable, well-structured core backend in TypeScript, where domain logic stays isolated from infrastructure while supporting clean dependency injection and reliable behavior through comprehensive tests.
Core Features & Use Cases
- DDD domain modeling: Implements bounded contexts (task, session, health, lifecycle, and event coordination) using Entities, Value Objects, Aggregates, and Domain Events.
- Clean architecture & DI: Provides a shared kernel plus application-layer use cases wired via an Inversify dependency container for repositories, services, logging, and event buses.
- Repository implementations: Defines repository interfaces and includes a SQLite-backed repository for persistence of task state.
- Test coverage for core logic: Includes domain unit tests and integration tests to validate entities, event emission, and repository behavior.
Quick Start
Implement the core foundation by creating the DDD domain structure and base classes, then implement the task, session, and health bounded contexts by wiring their entities, services, repositories, and corresponding tests.