Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Wiki 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
  • PlanLine
  • WikiWiki
  • Wiki
  • Arquitetura

Last edited by Giovanni Gonçalves Migon Nov 24, 2023
Page history
This is an old version of this page. You can view the most recent version or browse the history.

Arquitetura

Documentação do negócio

Documentação técnica


\mathbb{ARQUITETURA}

Esta seção é dedicada a apresentar a arquitetura definida para o projeto.
Sendo esta dividida nas seguintes partes:

  • Frontend Web
  • Frontend Mobile
  • Backend
  • Diagrama de Deploy

💻 Frontend Web

Link para o Repositório: Web


📱 Frontend Mobile

Link para o Repositório: Mobile


⚙ Backend

Com base nos princípios de Clean Architecture[1], estruturamos um projeto backend utilizando a seguinte Stack:

TypeScript Express.js Prisma Swagger

Do qual possui uma arquitetura em camadas, das quais são caracterizadas pelos seguintes ficheiros:

Controllers

São responsáveis por prover serviços, e por conectar os demais módulos pertinentes do sistema, com a aplicação backend.

Services

Camada intermediária da aplicação, a qual define a comunicação entre Controllers e Repositories, provendo uma conversão mútua da lógica de sistema, com a lógica de negócio.

Repositories

Define as lógicas diretamente estruturadas com a troca de dados, entre a aplicação backend e o banco de dados.

Prisma

Este ficheiro define a camada de Models, a qual tem por função detalhar o formato dos dados transitados com o banco de dados. E o mesmo, é assim denominado por fazer uso do Prisma, uma biblioteca de ORM (Object Relational Mapping) que provê serviços de query para simplificar a gerência sobre o banco de dados.

Link para o Repositório: Backend


🚀 Diagrama de Deploy

O diagrama a seguir apresenta a arquitetura em alto nível e o processo de deploy da infraestrutura do projeto:

diagrama_de_deploy

Arquivo XML para o Diagrams.net

💸 Orçamento AWS

Essa seção apresenta o orçamento da infraestrutura na AWS. O orçamento foi feito utilizando a ferramenta AWS Pricing Calculator e busca estimar o custo financeiro para manter a infraestrutura do projeto pelo pelo período de 1 semestre, sendo este a duração do projeto e da disciplina da AGES.

O PDF gerado através do AWS Pricing Calculator com o orçamento para a infraestrutura do projeto pode ser encontrado nesse link: My_Estimate_-_AWS_Pricing_Calculator.pdf

A seguir serão apresentados os componentes (serviços da AWS) que irão compor a infraestrutura do projeto:

  • AWS Advance EC2 instance (t4g.nano)

  • AWS Advance EC2 instance (t2.medium)

Resumo Geral: Para manter a infraestrutura do projeto por 1 semestre, esse será o custo financeiro estimado a cada mês e ao final do semestre:

  • Custo Imediato: 549.25 USD
  • Custo Mensal: 3.07 USD
  • Custo Semestral: 18,42 USD

Referências

[1] C. Martin, Robert. Clean Architecture: A Craftsman's Guide to Software Structure and Design. Pearson, 2017

Clone repository
  • Home
Documentação do negócio
  • Controle de sprints
  • Requisitos de negócio (User Stories)
  • Processo de desenvolvimento
  • Gerênciamento do projeto
  • Horários disponíveis
Documentação técnica
  • Arquitetura
  • Mockups
  • Banco de dados
  • Instalação