Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • W Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1
    • Issues 1
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Sistema de Gerenciamento de projetos - TCE
  • Wiki
  • Wiki
  • backend

backend · Changes

Page history
Update backend authored Aug 27, 2024 by Mathias Fatur Kauffmann's avatar Mathias Fatur Kauffmann
Hide whitespace changes
Inline Side-by-side
backend.md
View page @ 1febffe9
| [Home](home) | [**Escopo**](escopo) | [Processo](processo) | [Design/Mockups](design_mockups) | [Configuração](configuracao) | [Arquitetura](arquitetura) | [Gerência](gerencia) | [Código](codigo) | [BD](Banco de Dados) | [Qualidade](qualidade) | [Frontend](frontend) | [Backend](backend) | [Analytics](analytics) | [**Home**](home) | [Escopo e Cronograma](escopo) | [Processo](processo) | [Design/Mockups](design_mockups) | [Configuração](configuracao) | [Arquitetura](arquitetura) | [Código](codigo) | [BD](banco_dados) | [Qualidade](qualidade) | [Utilização](utilizacao) |
| :----------: | :-------------------------------: | :------------------: | :--------------: | :--------------------------: | :--------------------: | :------------------------: | :--------------: | :---------------: | :--------------------: | :---------------: | :--------------------: | ------------: | | :--------------: | :---------------------------: | :------------------: | :--------------: | :--------------------------: | :------------------------: | :--------------: | :---------------: | :--------------------: | :----------------------: |
# Estrutura da Aplicação Frontend em React NextJs
## Tecnologias Principais * Linguagem: Java 11
* Framework: Spring Boot
- **NodeJS** * **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.
## Estrutura de Pastas ### Módulos do Sistema
```plaintext * **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`.
src/ * **dto**: possui os objetos utilizados para transportar dados entre as camadas.
├── controlles/ # Controladores que gerenciam a lógica de negócio e interação com os serviços * **domain**: possui os mapeamentos para a tabela do banco de dados.
├── dto/ # Data Transfer Objects (DTOs) para definir a estrutura dos dados transferidos entre camadas * **enums** : possui as enumerações utilizadas nas `DTOS` ou entidades.
├── models/ # Modelos de dados que representam as entidades da aplicação (ex.: User, Product) * **exceptions**: centraliza todas as mensagens de exceções.
├── routes/ # Definições de rotas da aplicação e mapeamento para os controladores * **repository**: centraliza toda a comunicação com o banco de dados, passando os parâmetros adequados para as funções desejadas.
├── utils/ # Funções utilitárias e helpers reutilizáveis em várias partes do código * **security**: define configurações de acesso aos endpoints e a autenticação de usuários cadastrados.
├── services/ # Serviços que contêm a lógica de negócios e interagem com o banco de dados ou APIs externas * **service**: centraliza todas as nossas regras de negócio, utilizando o `repository` para fornecer os dados do banco e realizar as validações.
└── index.tsx # Ponto de entrada da aplicação * **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.
```
# Explicação da Estrutura:
Clone repository
  • Termo de Abertura
  • backend
  • configuração
  • design_mockups
  • frontend
  • Home
  • processo