This project was created to learn about good practices and clean architecture
The project is divided into the following folders:
-
domain: This is where the business rules and core domain logic reside. Classes and interfaces in this layer should be independent of any frameworks or tools.
-
infrastructure: This layer contains implementations of the interfaces defined in the domain layer. It deals with external concerns such as databases, third-party integrations, or any I/O operations. Ideally, the domain layer should not depend on details of this layer.
-
presentation: This layer handles user interface and interaction. It could be a web interface, command-line interface, or any other means through which users interact with the application. The presentation layer should depend on the domain layer but not vice versa.
- Run
npm install
- Clone file .env.example to .env
- Fill the file with the proper variables
- Run
docker compose up -d
to create the necessary services - Run
npm run dev
in terminal