Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • D DoAÇÃO Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • 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
  • DoAÇÃO
  • DoAÇÃO Wiki
  • Wiki
  • arquitetura

Last edited by Marcos Menezes Sanhudo Oct 30, 2022
Page history

arquitetura

Home Escopo e Cronograma Processo Design/Mockups Configuração Arquitetura Código BD Qualidade Utilização

Arquitetura do Sistema

Descrição

Esta seção irá abordar a arquitetura selecionada para o Backend e Frontend, além dos dados relativos ao deploy.

Sumário

  • Arquitetura do Sistema
    • Descrição
    • Sumário
    • Arquitetura Geral da Aplicação
    • Deploy
      • Recipes API
      • Diagrama de Deploy
    • Backend
      • Definições de Tecnologias
      • Módulos do Sistema
      • Diagrama de Fluxo
    • Frontend
      • Definições de Tecnologias
      • Módulos do Sistema
      • Diagramas de Componentes
      • Diagrama do Sistema

Arquitetura Geral da Aplicação

A aplicação usa uma versão adaptada do paradigma Model-View-Controller (MVC). O MVC é composto por três agentes, que desempenham funções distintas, mas relacionadas:

  • O "controller" ("controlador") é a parte que o usuário usa para interagir com a aplicação, comunicando, com ela, dados.
  • O "model" ("modelo") é a parte escondida ao usuário; ela recebe informação do controlador, e faz o trabalho lógico necessário para tentar realizar ações solicitadas pelo usuário, atualizando a view com as suas atividades.
  • A "view" ("visualização") é a parte que o usuário consome, enquanto usa a aplicação. Inclui qualquer componente (visual ou não) que seja usado, pela aplicação, para comunica, ao usuário, informação sobre o estado do model.

Deploy

Recipes API

TBD

Diagrama de Deploy

TBD

Backend

Definições de Tecnologias

TBD

Módulos do Sistema

  • config: contém as configurações de cors e do Swagger.
  • controller: é o ponto de entrada do backend, onde ficam os endpoints da aplicação.
  • entity: camada que contém entidades que se espelham ao banco de dados.
  • dto: possui os objetos utilizados para o transporte de dados entre as camadas.
  • enums: possui as enumerações que são usados nos dtos ou nas entidades.
  • message: Possui todas as mensagens que são devolvidas para o frontend, para a visualização do usuário.
  • repository: é responsável por fazer toda comunicação com o banco de dados.
  • security: define configurações de acesso aos endpoints e controla o login e autenticação de usuários cadastrados.
  • service: camada que contém as regras de negócio.
  • util: possui classes que contém métodos que são utilizados em diversas serviços, como 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 Fluxo

TBD

Frontend

Definições de Tecnologias

  • React JavaScript: biblioteca de JavaScript, utilizada para definir a parte lógica, e criar componentes HTML, para aplicações web de página única.
  • Material UI: biblioteca de componentes para interfaces gráficas de usuário de aplicações web.
  • CSS: linguagem de marcação de texto, utilizada para estilizar componentes HTML.
  • npm: gerenciador de pacotes de módulos JavaScript, utilizado para instalar funcionalidades em aplicações web.
  • Axios: biblioteca de JavaScript, utilizada para realizar solicitações HTTP, permitindo o uso de promises.

Módulos do Sistema

  • assets: guarda informações importantes a nível global, como cores, imagens, e o endereço do servidor do banco de dados na internet.
  • components: guarda componentes de interface gráfica, como botões e menus, para possibilitar reuso em toda a aplicação.
  • contexts: guarda os scripts utilizados para reter informações que precisarão ser reutilizadas ao longo da sessão de utilização da aplicação.
  • enums: guarda listas de itens importantes a nível global: rotas, códigos de HTTP, e chaves de armazenamento local.
  • screens: guarda as telas, e seus respectivos modais, utilizadas para a GUI da aplicação
  • services: guarda os scripts utilizados para transferir informações entre o banco de dados e o front-end.
  • utility: guarda scripts utilizados para operações que não sejam específicas a páginas específicas: conversor de notação monetária, e o assistente ao serviço do Axios.

Diagramas de Componentes

TBD

Diagrama do Sistema

TBD

Clone repository
  • Gerência
  • Instalação
  • Retro
  • Utilizando a wiki
    • adicionando imagens
    • escrevendo em markdown
    • wiki no editor de texto
  • arquitetura
  • banco_dados
  • codigo
  • configuracao
  • design_mockups
  • escopo e retrospectivas
  • escopo
  • estudos
  • gerencia
View All Pages