Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • VIR - wiki VIR - wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1
    • Issues 1
    • 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
  • VIR - Visual Interactive Reading
  • VIR - wikiVIR - wiki
  • Wiki
  • arquitetura

Last edited by Arthur Zanella Lovato Nov 28, 2024
Page history
This is an old version of this page. You can view the most recent version or browse the history.

arquitetura

Home Escopo Processo Mockups Configuração Arquitetura Gerência Código BD Qualidade Utilização

Diagrama de arquitetura

image

Diagrama de Componentes Frontend

image

Na aplicação possuímos 3 divisões de componentes e fluxos de usuário, os fluxos admin e school servem para gerenciamento e são implementados componentes que sigam o modelo desktop, já o fluxo reader é para alunos dessas escolas, seus componentes e telas seguem o modelo mobile.

Fluxograma Backend

image

Módulos do Sistema

  • controller: é o ponto de entrada do backend, onde ficam definidos os endpoints da aplicação, ou seja, os caminhos após o endereço do servidor como /user e qual o tipo de chamada o endereço irá receber GET, POST, PUT ou DELETE.
  • documentation: possui a lista das chamadas de endpoint e funciona como uma ferramenta para testes.
  • models: A camada de models define as entidades da aplicação, suas relações e regras de validação, permitindo que a camada repositories nteraja facilmente com o banco de dados.
  • repository: centraliza toda a comunicação com o banco de dados, passando os parâmetros adequados para as funções desejadas.
  • service: centraliza todas as nossas regras de negócio, utilizando o models para fornecer os dados do banco e realizar as validações.

Como configurar o ambiente backend

Requisitos:

  • PostgreSQL, preferencialmente com PgAdmin 4.
  • Python 3.12 ou superior.

1 - Primeiramente, faça download dos requisitos descritos acima

Baixe a versão 16 do PostgreSQL através do link: https://www.enterprisedb.com/downloads/postgres-postgresql-downloads. Durante a instalação haverá uma checkbox perguntando se você deseja baixar PgAdmin 4, normalmente ela já estará marcada, mas certifiques-se de conferir. Além disso, durante a instalação o setup lhe pedirá para definir uma senha de acesso, coloque a senha padrão "postgres".

Já para o Python, não se esqueça de baixar a versão 3.12 ou superior, você pode realizar o download através do link: https://www.python.org/downloads/.

Após isso, adicione os recursos recém baixados nas Variáveis de Ambiente. No menu iniciar do Windows digite "Editar Variáveis de Ambiente do Sistema", clique no botão "Variáveis de Ambiente...", em seguida procure por Path na caixa Variáveis do Sistema, selecione-o e clique em "Editar...", clique no botão "Novo" e adicione o caminho das pastas "Python\Python312", "Python\Python312\Scripts" e "PostgreSQL\16\bin", semelhante a imagem a seguir.

image

1 - Com o projeto clonado na máquina local, certifique-se de que tudo está devidamente instalado:

psql --version

python --version

2 - Em seguida instale o gerenciador de dependências Poetry:

pip install poetry

Se ocorrer algum problema, verifique se o pip está corretamente instalado.

pip --version

Caso o sistema não identifique o comando "pip", instale-o

python -m ensurepip --upgrade

3 - Navegue até a raiz do projeto (pasta que contém pyproject.toml) para instalar as dependências do projeto com Poetry:

poetry install

4 - O Flask será instalado automaticamente, mas você pode verificar se a instalação ocorreu corretamente:

poetry run flask --version

5 - Ative o Ambiente Virtual:

poetry shell

6 - Normalmente essa ação não seria necessária, mas por garantia execute o commit:

flask db migrate -m "migração inicial"

7 - Migre a última versão do Banco de Dados:

flask db upgrade

8 - Instalar dependência para manipular PDFs

pip install PyPDF2

9 - Rode a aplicação:

flask --app app.py run

Não se esqueça de estar na raiz do projeto ao executar o projeto.

10 - Criar as tabelas no banco de dados automaticamente:

Abra o PgAdmin 4 e clique na setinha ao lado esquerdo de "Servers", o programa pedirá a senha definida durante a instalação, caso tenha configurado uma senha diferente de "postgres", você pode muda-la através do comando psql -U postgres.

image

Em seguida, clique com o botão direito em Database vá em "Create > Database...", no campo Database digite "vir_db" e salve as configurações.

image

Ao abrir a database vir_db vá até a aba Schemas, lá você pode notar que aba Tables estará vazia, tudo que você precisa fazer é executar o código novamente com o PgAdmin aberto, se tudo ocorrer bem, as tabelas serão criadas automaticamente.

Clone repository
  • arquitetura
  • banco_dados
  • codigo
  • configuracao
  • configurações
  • design_mockups
  • escopo
  • gerencia
  • Home
  • processo
  • qualidade
  • utilizacao