FlowCore é um projeto criado com o objetivo de estudar e aplicar na prática conceitos fundamentais de arquitetura de software profissional.
O foco principal deste repositório não é apenas criar funcionalidades, mas entender como estruturar um sistema de forma organizada, desacoplada e escalável.
- Clean Architecture
- SOLID
- SRP (Single Responsibility Principle)
- SoC (Separation of Concerns)
- DIP (Dependency Inversion Principle)
- Dependency Injection
- Organização em camadas
- Desacoplamento entre regras de negócio e infraestrutura
## Project Structure
src/
│
├── domain/
│ ├── entities/
│ ├── repositories/
│ └── services/
│
├── application/
│ └── usecases/
│
├── infrastructure/
│ ├── repositories/
│ └── services/
│
├── interfaces/
│
└── main/
- domain → Core business rules, entities and abstractions.
- application → Application use cases and business flow orchestration.
- infrastructure → External implementations such as database and notification services.
- interfaces → Input layer responsible for controllers and external communication.
- main → Application startup and dependency initialization.
## Objetivo do projeto
Entender como proteger regras de negócio da infraestrutura utilizando abstrações e separação de responsabilidades.
## Próximos passos
- Testes automatizados
- PostgreSQL
- Docker
- APIs REST
- Autenticação
- Mensageria
---
Projeto criado para evolução prática em arquitetura backend e engenharia de software.