- Linguagem: Java 11
- Framework: Spring Boot
![diagrama]()
-
Presentation layer (Controller): Layer da aplicação onde são apresentandos os endpoints da aplicação, sendo dentre deles os controllers, Data Transfer Objects (DTOs) e entidades.
-
Business logic layer (Service): Layer da aplicação de services onde está presente a lógica da aplicação, pesquisas para o mapa, tratamento e processamento dos dados, pesquisas das restrições e entre outras coisas.
-
Data access layer (Repository): Layer onde é realizada a a comunicação com o banco de dados, fazendo buscas, criações de objetos, mudanças de dados no geral.
Fluxograma Backend
![fluxograma_backend]()
Módulos do Sistema
-
controller: é o ponto de entrada do backend, onde ficam definidos os endpoints da aplicação, ou seja, os caminhos após o endereço do servidor como
/user
e qual o tipo de chamada o endereço irá receber GET
, POST
, PUT
ou DELETE
.
-
dto: possui os objetos utilizados para transportar dados entre as camadas.
-
domain: possui os mapeamentos para a tabela do banco de dados.
-
enums : possui as enumerações utilizadas nas
DTOS
ou entidades.
-
exceptions: centraliza todas as mensagens de exceções.
-
repository: centraliza toda a comunicação com o banco de dados, passando os parâmetros adequados para as funções desejadas.
-
security: define configurações de acesso aos endpoints e a autenticação de usuários cadastrados.
-
service: centraliza todas as nossas regras de negócio, utilizando o
repository
para fornecer os dados do banco e realizar as validações.
-
util: possui classes que tem métodos que são utilizados em diversos services, como por exemplo, o Validations.java, que contém validações de campos de um objeto. Nessa camada também ficam as exceptions personalizadas e os handlers dessas exceptions.
Diagrama de Componentes Frontend
![Diagramas_de_componentes]()
Descrição do Estruturas
-
🔘
Assets
- Assets são recursos utilizados em um projeto de software, como imagens, ícones, fontes, arquivos de áudio e vídeo.
-
🔘
Components
- Blocos reutilizáveis que compõem a interface e a funcionalidade de um aplicativo, facilitando a construção, a manutenção e a reutilização do código.
-
🔘
Screen
- Tela/interface de usuário visível que os usuários interagem. Cada tela geralmente é composta por um ou mais componentes e exibe informações ou funcionalidades específicas.
-
🔘
Routes
- Rotas se referem ao sistema de navegação em um aplicativo. As rotas definem a estrutura do aplicativo, permitindo que os usuários naveguem entre diferentes telas ou páginas sem a necessidade de recarregar todo o aplicativo.
-
🔘
Services
- Serviços são módulos ou classes que lidam com funcionalidades específicas no aplicativo. Eles são responsáveis por tarefas como aquisição de dados de APIs externas, manipulação de dados, autenticação de usuário, ou qualquer outra lógica de negócios que não pertença aos componentes.
-
🔘
Utils
- "Utils" é uma abreviação para utilitários. São funções/classes que fornecem funcionalidades genéricas e reutilizáveis que não se encaixam diretamente em componentes ou em lógica de negócios. Eles geralmente são usados para tarefas comuns (formatação de datas, validação de entrada ou manipulação de strings).
-
🔘
Hooks
- Hooks são uma característica da biblioteca React que permite conectar a recursos do React, como o estado de um componente. Eles permitem que você reutilize lógica de estado e efeitos colaterais sem a necessidade de classes.
-
🔘
API
- API (Application Programming Interface) é um conjunto de definições e protocolos que podem ser usadas para acessar recursos e serviços, seja para enviar ou receber dados, executar ações ou realizar outras operações definidas.
Diagrama de Deploy
![Diagrama-Deploy-v6]()