Home | Escopo | Processo | Design/Mockups | Configuração | Arquitetura | Gerência | Código | BD | Qualidade | Frontend | Backend | Analytics |
---|
Backend
Esta página centraliza informações sobre o repositório Backend do projeto Sem Barreiras.
Sumário
Organização do repositório
O projeto Spring Boot do repositório de Backend do projeto está organizado seguindo um padrão Controller-Service-Repository, e esse padrão está refletido na organzação de pacotes do projeto. Optou-se por esse padrão pois, ainda que este padrão possa trazer problemas como acoplamento de regras de negócio e tecnologias de ORM (sendo estes problemas que poderiam ser resolvidos com um padrão de arquitetura limpa), ele segmenta o código em camadas visando uma separação de preocupações/responsabilidades (Separation of concerns). Além disso, é um padrão fácil de entender para desenvolvedores que não possuem muita experiência com Spring Boot ou com o desenvolvimento de APIs em geral.
Diante disso, os pacotes do projeto estão divididos da forma abaixo:
-
📁 config
: Configurações personalizadas da aplicação (ex.: configuração da conexão com o banco de dados, declaração de Beans). -
📁 controller
: Expõe pontos de entrada para comunicação com o mundo exterior. Neste projeto, gerencia a API REST da aplicação, incluindo responsabilidades como autenticação e autorização, e delega o processamento de lógica de negócio para a camada de services. -
📁 dto
: Classes utilizadas para transferir dados entre camadas de uma aplicação (não são entidades, são apenas classes que modelam essas informações a serem trafegadas na aplicação).-
📁 request
: DTOs para dados de entrada das requisições. -
📁 response
: DTOs para dados de resposta das requisições.
-
-
📁 exception
: Exceções personalizadas da aplicação. -
📁 model
: Entidades do negócio. -
📁 repository
: Encapsula a lógica de acesso ao banco de dados para buscar e persistir dados.-
📁 impl
: Classes que implementam as interfaces em repository.
-
-
📁 service
: Implementação da lógica de negócio (interfaces). Se necessário buscar ou salvar dados, delega isso para a camada de repository.-
📁 impl
: Classes que implementam as interfaces em service.
-
-
📁 util
: Classes e métodos utilitários (ex.: formatação de datas)
Padrões de código
Nomenclatura
TODO
Tratamento de exceções
TODO