Clean architectured, Infrastructure agnostic and Domain Driven designed Typescript application boilerplate.
Status | |
---|---|
Test Suites | |
Code Coverage | |
Security scanner |
Design principles
- Domain Driven Design
- The Clean Architecture
- Hexagonal Architecture
- SOLID.
- Monolithic. Ability to quickly switch to microservice.
Language
: TypeScriptDatabase
: Agnostic, In Memory, Key/Value, NoSQL
.
├── ...
├── src
│ ├── Domains
│ │ ├── Facilities
│ │ │ ├── Data Entity
│ │ │ │ ├── IFacility.js
│ │ │ ├── Data Model
│ │ │ │ ├── Facility.js
│ │ │ ├── Data Repository
│ │ │ │ ├── FacilityMongoDB.js
│ │ │ ├── Use cases
│ │ │
│ │ ├── Agents
│ │ │ ├── Data Entity
│ │ │ │ ├── IAgent.js
│ │ │ ├── Data Model
│ │ │ │ ├── Agent.js
│ │ │ ├── Data Repository
│ │ │ │ ├── AgentMongoDB.js
│ │ │ ├── Use cases
│ │ │
│ │ └── Shifts
│ │ ├── Data Entity
│ │ │ ├── IShift.js
│ │ ├── Data Model
│ │ │ ├── Shift.js
│ │ ├── Data Repository
│ │ │ ├── ShiftMongoDB.js
│ │ ├── Use cases
│ │ ├── getShiftsByFacility.js
│ │ ├── generateReport.js
│ │
│ └── Infrastructure
│ ├── Persistence
│ │ ├── BaseRepo.ts
│ │ ├── InMemory.ts
│ │ ├── Paging.ts
│ │
│ ├── Utils
│
├── tests # Test files
│
└── ...
- Install Node.js
- Run
npm i
in this repo to install dependencies - Run
npm test
to run the automated tests