Sergio-Daniel-Pires / BlueSaver

Projeto de MC426
4 stars 0 forks source link

BlueSaver

Projeto de MC426.
Desenvolvido em Flask com apresentação das funcionalidades em um Swagger.

Antes de tudo, vamos instalar as dependências:

pip install -r requirements.txt

Para rodar o servidor FLASK, pode utilizar:

I - Bash com seleção:

bash run.sh

OU

II - Flask run:

python3 -m flask --app app run

Para visualizar as rotas, acesse:

localhost:5000

Uso do ChatGPT

Para usar a funcionalidade do chatGPT é necessário ter uma chave privada da API da OpenAI. Acesse:

Depois, configure nas suas variáveis de ambiente sua chave privada. Isso pode ser feito da seguinte forma em um ambiente Linux:

export OPENAI_API_KEY={Coloque sua chave aqui}

Remova as chaves.

Especificações:

Architectural Design e Design Pattern

Diagrama a nivel de componentes

'Diagrama'

Estilo Arquitetural

O estilo adotado foi o MVT (Model-View-Template), que é uma variação do MVC, adaptada quase que exclusivamente para o Flask, por conta dele não ter uma divisão exatamente definida na parte do view/controller.

Componentes e suas responsabilidades

Design Pattern adotado

Para a parte de "models"/dados, resolvemos adotar o modelo de padrão de projeto “Factory method”, para que possamos acessar os dados de maneira simples, estejam eles armazenados localmente ou em um banco de dados. Banco de dados esse que poderia ser ainda mais especificado no padrão, criando por exemplo, uma classe para BD's SQL e outro NoSQL.

Hannah Ritchie and Max Roser (2017) - "Water Use and Stress". Published online at OurWorldInData.org. Retrieved from: 'https://ourworldindata.org/water-use-stress' [Online Resource]