DEV Community

Estrutura de um Projecto de Back-end

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

Repositório

Top comments (0)