Skip to content

Commit

Permalink
arquitetura atualizada
Browse files Browse the repository at this point in the history
  • Loading branch information
Vini47 committed Sep 4, 2024
1 parent faca917 commit 6b3cc29
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 72 deletions.
42 changes: 0 additions & 42 deletions docs/api.md

This file was deleted.

28 changes: 4 additions & 24 deletions docs/arquitetura.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,12 @@

## Visão Geral da arquitetura

Para esse sistema foi escolhido o modelo de arquitetura MVC pois apresenta facilidades quanto ao desenvolvimento por ser um modelo onde divide a aplicação em três componentes principais: Model (Modelo), View (Visão) e Controller (Controlador). Cada componente tem uma responsabilidade específica, o que ajuda a modularizar e organizar o código, facilitando o desenvolvimento e a manutenção dos códigos.
Neste sistema, foram usados dois ambientes: o ambiente do `front-end`, que é onde foi construída a parte visual do projeto, sendo representado pela pasta `web`, que armazena a web page do projeto, e o ambiente `Bases web`, com a pasta de mesmo nome que está dentro do ambiente do `front-end` e representa o ambiente de lógica do nosso projeto, obtendo todos os dados que serão usados.

A imagem abaixo ilustra a disposição dos elementos do projeto distribuídos no modelo de arquitetura selecionado.
A imagem abaixo ilustra a disposição dos elementos do projeto.

![imagem da arquitetura](img/arquitetura.png)

## Model (Modelo)
## Funcionamento

### Responsabilidade:

O Modelo representa a camada de dados da aplicação. Ele lida com a lógica de negócios, armazenamento e recuperação de informações. As principais responsabilidades do Modelo incluem: Gerenciamento de dados e estado da aplicação. Realização de cálculos e operações de lógica de negócios. Notificação de alterações aos observadores interessados.

Neste projeto, essa camada contém alguns algoritmos de busca com funções que acessam a API do querido diário, que retorna os dados brutos, os quais são tratados e organizados pelos algoritmos, retornando uma lista de dicionários com as informações obtidas para a camada Controller.

## View (Visão)

### Responsabilidade:

A Visão é responsável pela apresentação e captação dos dados do usuário. Ela exibe a interface gráfica e permite a interação do usuário com a aplicação.

O nosso projeto possui apenas uma interface gráfica com a finalidade de receber os dados fornecidos pelo usuário e retornar informações gráficas fáceis de serem visualizadas.

## Controller (Controlador)

### Responsabilidade:

O Controlador atua como intermediário entre o Modelo e a Visão. Ele recebe as entradas do usuário (como inputs e comandos), processa essas entradas (às vezes alterando o Modelo), e atualiza a Visão conforme necessário.

O projeto possui apenas uma API na camada de controle, e essa API atua como uma ponte entre a visão e o modelo, realizando algumas verificações para garantir que os dados sejam recebidos e retornados de maneira correta.
Os códigos de raspagem de dados presentes em `Bases web` extraem as informações necessárias, tratam-nas e as salvam em vários arquivos JSON. Esses arquivos são utilizados pela web page para exibir as informações de forma gráfica. O algoritmo de licitações usa a API `dados abertos` do governo para obter os dados usados, enquanto os demais algoritmos utilizam a API do `querido diário`. A web page usa `JavaScript`, `HTML` e `CSS` em sua construção, e `Bases web` usa `Python`.
Binary file removed docs/img/arquitetura.png
Binary file not shown.
8 changes: 2 additions & 6 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,8 @@ Gastos DF visa ser uma ferramenta essencial para promover a transparência e a r
### Front-End
O front-end construido para aprensentar as informações e é feito usando o `JavaScript`, `HTML` e `CSS`.

### Api
Feito para comunicar o back-end com o front-end é em `Python` usando `Fast Api`.

### Back-End
O back-end é onde acontece o processamento de dados feito em `Python` e usando a api do Querido diário que por sua vez é feita em `Fast Api`.

### Bases web
A parte lógica do projeto, feita para extrair os dados e passá-los para a parte de exibição do site, é construída em `Python`.

## 🤝 Colaboradores

Expand Down

0 comments on commit 6b3cc29

Please sign in to comment.