Criar software ao longo do tempo pode se tornar uma tarefa difícil. À medida que as funcionalidades crescem, é necessário organizar o projeto para facilitar evolução e manutenção.
Por isso, compartilho uma sugestão que tenho aplicado nas minhas soluções e que tem funcionado muito bem.
Esta estrutura é simples, independente da linguagem, e ajuda a evoluir o projeto de forma mais organizada.
A ideia principal é separar código fonte, scripts e arquivos de configuração.
Estrutura Genérica
- src: código fonte da aplicação (core e common)
- database: migrações, seeds e scripts de banco de dados (SQL e MongoDB)
- docker: arquivos de configuração Docker e Docker Compose
- docs: documentação do projeto (API, arquitetura, regras de negócio)
- generic: guia de organização genérica, referência para estruturar o projeto
- observability: monitoramento e métricas (Grafana, Prometheus)
- public: arquivos públicos, imagens, estáticos e templates (emails, relatórios)
- scripts: scripts auxiliares (build, deploy, jobs)
- tests: testes automatizados
- ponto de entrada / EntryPoint: Ex: main.go, app.py ou Program.cs. Faz o setup dos middlewares, controllers e seed
Top comments (0)