This is example project with implementation of clean architecture without frameworks
There are three distinct layers:
- Domain: holds domain business logic that does not depend on anything out of itself
- Application: holds application logic and consists of use-cases that communicate both with infrastructure elements and domain
- Infrastructure: holds implementations for external dependencies: http client, data access layer
Entire application gets assembled in main function of main.ts file