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 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
  • Comunidade Universitaria
  • wiki
  • Wiki
  • arquitetura

arquitetura · Changes

Page history
Create arquitetura authored Aug 17, 2023 by Matheus Pozzer Moraes's avatar Matheus Pozzer Moraes
Show whitespace changes
Inline Side-by-side
arquitetura.md 0 → 100644
View page @ dd775331
| [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) |
| :----------: | :---------------------------: | :------------------: | :--------------: | :--------------------------: | :----------------------------: | :--------------: | :---------------: | :--------------------: | :----------------------: |
# 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](#arquitetura-do-sistema)
- [Descrição](#descrição)
- [Sumário](#sumário)
- [Arquitetura Geral da Aplicação](#arquitetura-geral-da-aplicação)
- [Diagramas](#diagramas)
- [Diagrama de Deploy](#diagrama-de-deploy)
- [Diagrama de Componentes](#diagrama-de-componentes)
- [Diagrama de Implantação](#diagrama-de-implantação)
- [Backend](#backend)
- [Definições de Tecnologias](#back-end-def-tec)
- [Diagrama de Fluxo](#diagrama-de-fluxo)
- [Frontend](#frontend)
- [Definições de Tecnologias](#front-end-def-tec)
- [Módulos do Sistema](#front-end-mods-sis)
- [Diagramas de Componentes](#diagramas-de-componentes)
- [Diagrama do Sistema](#diagrama-do-sistema)
## Arquitetura Geral da Aplicação
TBD
## Diagramas
### Diagrama de Deploy
### Diagrama de Componentes
### Diagrama de Implantação
## Backend
### Definições de Tecnologias
- Linguagem de Programação: TypeScript
- Runtime: Node v19
- Framework: [Nest.js V10](https://nestjs.com/)
Neste projeto, utilizamos 'Clean Architecture', pois tem como objetivo fornecer um sistema modular, escalável, independente de frameworks e tecnologias e fácil de testar e manter. Ao separar as responsabilidades em camadas com propósitos específicos, é possível garantir que cada camada possa ser alterada sem afetar as outras camadas do sistema, facilitando a evolução e manutenção do software ao longo do tempo.
### Diagrama de Fluxo
A estrutura do projeto é modularizada, onde há um injetor de dependência específico para cada rota, assim como a criação de toda estrutura, como criação de um novo repositório, novos usecases, domínios(entity), dtos, services, etc.
Responsabilidade das camadas:
Application: Aqui é o local onde é realizado a injeção de dependências, imports e declaração do Controller. É o entrypoint da nossa aplicação.
Core: É onde é realizado a regra de negócio(Como por exemplo: estudante pode participar de um evento se for de faculdade fulana) é nesta camada que vai está regra, transformação de dados, etc.
Infrastructure: É a camada responsável pela persistência de dados, ou seja de fazer a conexão com o banco de dados.
Resources: Local onde é salvo recursos que utilizaremos no projeto, podendo ser imagem, documentos, etc.
[Para mais informações](https://www.cedrotech.com/blog/arquitetura-limpa/#)
Clone repository
  • arquitetura
  • banco_dados
  • codigo
  • configuracao
  • design_mockups
  • dividas_tecnicas
  • escopo
  • Home
  • processo