diff --git a/docs/api.md b/docs/api.md deleted file mode 100644 index 6841eb4b..00000000 --- a/docs/api.md +++ /dev/null @@ -1,42 +0,0 @@ -# Api - -## Sobre a Api - -A API está dividida em módulos, onde cada pasta é um módulo com sua própria rota e particularidade de acesso, com o arquivo main.py orquestrando isso. A sua construção é feita em Python e FastAPI. - -## Como rodar o ambiente da API - -### Algumas informações - -A api e feita em `python` usando `fastapi` e esta rodando em um ambiente virtual python com suas dependências ja instaladas. - -### Pré-requisitos - -Ter o Python 3.12.3 ou superior instalado. - -Ter o pip 24.0 ou superior instalado. - -### No Windows - -Tentei. Não roda, ativa o WSL ou instala um ubuntu e segue os passos do linux 👍 - -### No linux (ubuntu) - -Dentro da pasta raiz do projeto `Gastos-DF-Squad12` execulte os seguintes comandos: - -Para ativar o ambiente virtual do python execute: -``` -source venv/bin/activate -``` - -Em seguida para abrir um servidor local e visualizar no seu navegador execute: -``` -python3 api/main.py -``` - -Será aberto no endereço http://localhost:8001/. - -O seu docs estará no endereço http://localhost:8001/docs. - -Mais informações sobre o ambiente virtal python podem ser encontrado em https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/. - diff --git a/docs/arquitetura.md b/docs/arquitetura.md index ccbcc2dd..998b5940 100644 --- a/docs/arquitetura.md +++ b/docs/arquitetura.md @@ -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. \ No newline at end of file +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`. diff --git a/docs/img/arquitetura.png b/docs/img/arquitetura.png deleted file mode 100644 index 77507c68..00000000 Binary files a/docs/img/arquitetura.png and /dev/null differ diff --git a/docs/index.md b/docs/index.md index 611c292e..8c2ca0a5 100644 --- a/docs/index.md +++ b/docs/index.md @@ -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