Home | Escopo | Processo | Mockups | Configuração | Arquitetura | Gerência | BD | Qualidade | Frontend | Backend |
---|
Página da Arquitetura do Sistema
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
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.