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 13
    • Issues 13
    • 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
  • Projeto Focus
  • Wiki
  • Wiki
  • arquitetura

Last edited by Leonardo José Machado Canto Jun 14, 2023
Page history
This is an old version of this page. You can view the most recent version or browse the history.

arquitetura

Home Escopo e Cronograma Processos Design Configuração Arquitetura Código Banco de Dados Qualidade Gestã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
  • Tecnologias
    • Flutter
    • Firebase
    • Integração
    • Arquitetura Geral da Aplicação
    • Front-end
      • Definições de Tecnologias
      • Módulos do Sistema Front-end
      • Diagramas de Componentes
      • Diagrama do Sistema
  • Deploy
    • Recipes API
    • Diagrama de Deploy

Tecnologias

Na decisão sobre as tecnologias a serem utilizadas no desenvolvimento da aplicação, a equipe promoveu um debate e um formulário para mapear os conhecimentos de cada integrante. Sendo assim, para a decisão final, foi considerando o tempo de entrega do projeto, os conhecimentos já existentes na equipe, bem como aqueles que poderiam ser adquiridos durante o desenvolvimento.

Flutter

O Flutter foi criado pela Google, sendo um framework mais voltado para desenvolvimento de aplicativos móveis. Ele permite a criação de aplicativos compilados nativamente para iOS, Android, Windows, Mac, Linux e Web. Utilizando a linguagem de programação Dart, o flutter se diferencia de outros fameworks por utilizar uma abordagem de desenvolvimento baseada em Widgets, que são elementos gráficos reutilizáveis e personalizáveis.

Firebase

O Firebase é uma plataforma de desenvolvimento de aplicativos móveis e web da Google, que fornece diversos recursos para ajudar os desenvolvedores a criar aplicações de forma efetiva, rápida e simples. Ele inclui diversas funcionalidades, incluindo armazenamento de dados em tempo real, autenticação de usuários, hospedagem, mensagens e notificações, análise de dados, entre outros.

Integração

Arquitetura Geral da Aplicação

Abaixo está representado graficamente como funciona a comunicação do Front-end(Flutter) com o Back-end(Firebase).

Diagrama_Sistema.drawio__2_

Front-end

Para o projeto em questão, optamos por adotar a arquitetura MVC para o desenvolvimento do aplicativo utilizando Flutter. Para o Back-end, decidimos utilizar somente as chamadas ao Firebase.

Módulos do sistema Front-end

A arquitetura MVC para Front-end é usada para separar as responsabilidades de interface do usuário, manipulação de dados e a parte lógica. Essas responsábilidades são representadas por três camadas, elas são:

Model é a camada de manipulação de dados. Ele é responsável pela leitura e escrita de dados, e também de suas validações. Sendo assim, ela acaba sendo completamente independente das outras duas camadas.

View é a camada de interação com o usuário. Ela representa a parte visual da aplicação, e só é alimentada pela camada Controller quando necessário.

Controller é a camada responsável por receber todas as requisições do usuário. Seus métodos são responsáveis por uma página, controlando qual model usar e qual view será mostrado pelo usuário.

Diagrama do Sistema

Aqui podemos ver visualmente através de um diagrama como ficou a implementação do padrão arquitetural do Flutter: Diagrama_MVC.drawio__6_

Diagrama de Componentes

Deploy

Clone repository
  • 1º Encontro com Stakeholder
  • Gerenciamento do Projeto
  • Mocks
  • Planing Poker
  • User Stories
  • arquitetura
  • banco_dados
  • codigo
  • configuracao
  • design
  • escopo e cronograma
  • Home
  • horarios
  • instalacao
  • processos
View All Pages