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 16
    • Issues 16
    • 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
  • Colabora aí
  • WikiWiki
  • Wiki
  • Arquitetura

Last edited by Filipe Serafini Nov 24, 2024
Page history

Arquitetura

Home Escopo Processo Mockups Configuração Arquitetura Gerência BD Qualidade Frontend Backend

Página da Arquitetura do Sistema

Blank_board_-_Page_1-2

Frontend

Sistema projetado para acesso via internet por meio de um aplicativo mobile desenvolvido em Flutter/Dart. Dart é a linguagem de programação e Flutter o framework, essa combinação de tecnologias nos permite criar interfaces de usuário para Android e iOS.

Backend

O backend será desenvolvido utilizando Java com o framework Spring Boot para criar uma API REST responsável pela comunicação entre o aplicativo e o banco de dados. O Spring Boot é conhecido por facilitar o desenvolvimento de aplicações robustas e escaláveis no lado do servidor. Para a persistência de dados, utilizaremos o MongoDB, um banco de dados NoSQL.

Arquitetura do Sistema - MVC

O sistema será estruturado com o padrão de arquitetura MVC (Model-View-Controller), separando claramente as responsabilidades da aplicação em três camadas principais para garantir modularidade e facilitar a manutenção e escalabilidade do código.

Model

A camada de Model será responsável por gerenciar os dados da aplicação. Nesta camada, utilizaremos o MongoDB como banco de dados NoSQL para armazenar e recuperar as informações. O Model definirá a estrutura dos dados e interagirá diretamente com o banco por meio de operações de leitura e escrita.

View

A camada de View será o aplicativo móvel desenvolvido em Flutter, responsável pela interface de usuário. Ele será a parte visual do sistema, onde o usuário poderá interagir com os dados e funcionalidades fornecidas pela API. A View receberá dados da camada Controller e exibirá ao usuário, além de enviar requisições com as interações realizadas.

Controller

A camada de Controller será responsável por receber as requisições do aplicativo (View), processá-las, interagir com a camada Model para manipular os dados e devolver as respostas necessárias. O Controller será implementado utilizando Spring Boot para criar os endpoints da API REST. Ele funcionará como intermediário entre a interface do usuário (View) e o banco de dados (Model), garantindo que a lógica de negócio seja aplicada corretamente.

Arquitetura da Infraestrutura - AWS

Screenshot_2024-11-24_at_19.03.52

Frontend Mobile

O frontend mobile, desenvolvido com Flutter, permite a criação de uma aplicação cross-platform, atendendo tanto iOS quanto Android.

Frontend Web

Para o frontend web, escolhemos React devido à sua eficiência em renderizar componentes dinâmicos que melhoram a experiência do usuário.

Backend

O backend é implementado usando Java com o framework Spring Boot, conhecido por sua agilidade e poder em criar aplicações complexas e de alto desempenho. Utilizamos contêineres Docker para encapsular o ambiente do backend, facilitando a escalabilidade e a manutenção. Esses contêineres são gerenciados através do Amazon EC2 (Elastic Compute Cloud), que oferece capacidade computacional redimensionável na nuvem, permitindo ajustar recursos conforme a demanda.

Arquitetura de Comunicação

  • Amazon EC2: Responsável por executar o backend da aplicação, lidando com a lógica de negócios e processamento de dados.
  • Amazon API Gateway: Atua como proxy reverso, redirecionando o tráfego HTTP para HTTPS. Ele garante que todas as requisições sejam seguras e oferece uma camada adicional de abstração e controle sobre as APIs.
Clone repository
  • Arquitetura
  • Backend
  • Banco de Dados
  • Configuracao
  • Escopo
  • Frontend
  • Gerencia
  • Mockups
  • Processo
  • Qualidade
  • Home