Warning 🚧 Under construction
This project is an start kit for api model in clean architecture using typescript to follow abstract concepts, to support any lib creating adapters and being happy 😀
├── src
│ ├── app # Application logic and rules
│ │ ├── entities # Entities of data
│ │ ├── respositories # Interface for repositories
│ │ └── use-cases # Application use cases
│ ├── infra # General components
│ │ ├── core # Interface base for implementation on adapters
│ │ │ ├── adapters # Adapters for libs into project
│ │ │ │ └── http # Http libs adapters (Express, Koa, ...)
│ │ │ ├── interfaces # Basic interfaces of the system
│ │ │ └── Route.ts # Class for registering system routes
│ │ ├── database # Database configurations
│ │ ├── routes # Routes
│ │ └── server.ts # Starting server file
│ ├── presentation # Communication adapter between app and infra
│ | ├── controller # All Controllers
│ | | ├── Controller.ts # Interface of Controller for implementations
│ | | └── ... # Application controllers
│ | ├── protocols # All Controllers
│ | | └── HttpProtocol.ts # Http return interface that every application must respect
├── .gitignore # Ignore file for git
├── .prettierrc # Prettier config
├── package.json
├── package.lock.json
├── README.md
└── tsconfig.json # Project Typescript configuration file