|
|
|
|
|
|
|
# BackEnd da Aplicação
|
|
|
|
|
|
|
|
## A Tecnologia
|
|
|
|
Para o BackEnd do Projeto, baseando-se em questionário de conhecimentos aplicado aos integrantes do time e análise dos requisitos e funcionalidades do projeto, escolheu-se criar uma API REST utilizando Java com SpringBoot, e gerenciador de dependências Maven.
|
|
|
|
|
|
|
|
## O Projeto
|
|
|
|
O Projeto foi estruturado na abordagem Package by Layer, onde a definição das camadas está tradicionalmente na forma horizontal, onde separamos nosso código com base no que ele faz em uma perspectiva técnica:
|
|
|
|
* Camada de interface (api)
|
|
|
|
* Camada lógica de negócio (service)
|
|
|
|
* Camada de persistência (repository)
|
|
|
|
|
|
|
|
### Frameworks utilizados
|
|
|
|
|
|
|
|
Spring Data JPA: Fornece suporte de repositório para a Java Persistence API (JPA). Facilita o desenvolvimento de aplicações que precisam acessar origens de dados JPA. A interface central na abstração do repositório Spring Data é Repository. É necessária a classe de domínio para gerenciar, bem como o tipo de ID da classe de domínio como argumentos. Essa interface atua principalmente como uma interface de marcação para capturar os tipos com os quais trabalhar. A interface extendida, CrudRepository fornece funcionalidades CRUD para a classe de entidade que está sendo gerenciada.
|
|
|
|
|
|
|
|
Spring Security: Framework que fornece Autenticação e Autorização de forma segura, altamente customizável e de fácil utilização para aplicações Java.
|
|
|
|
|
|
|
|
Criptografia MD5 para armazenamento das senhas de acesso dos usuários.
|
|
|
|
|
|
|
|
JUnit e banco em memória H2 para os testes unitários.
|
|
|
|
|
|
|
|
|
|
|
|
### As Rotas
|
|
|
|
Todas as rotas do projeto estão documentadas usando Swagger, que pode ser acessado no contexto "/" da aplicação.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Esta é a página onde irá ficar todas as informações da Arquitetura do seu projeto, Como:
|
|
|
|
|
|
|
|
* Segurança
|
|
|
|
* Rotas de Backend (Arquitetura
|
|
|
|
funcional)
|
|
|
|
* Objects – Backend API
|
|
|
|
* Methods – Backend API
|
|
|
|
* Arquitetura Não Funcional)
|
|
|
|
* Diagrama de Pacotes / Componentes
|
|
|
|
(Arquitetura de software)
|
|
|
|
* Diagrama de Deploy
|
|
|
|
* Documentação sobre aplicação de
|
|
|
|
Design do Projeto
|
|
|
|
* Análise dos principios SOLID
|
|
|
|
* Code Review
|
|
|
|
*
|
|
|
|
Devem ser apresentados das seguintes formas:
|
|
|
|
|
|
|
|
* Imagens ou Gifs
|
|
|
|
* Diagramas ou Sistemas
|
|
|
|
* Descrições ou Textos explicativos |
|
|
|
\ No newline at end of file |