Base de dados para armazenar informações referentes à ferramenta plasticome incluindo enzimas com atividade comprovada na degradação de plástico e seus metadados. Plasticome além dessa base de dados também é composta por uma API, plasticome-backend que faz as análises recebidas pelo, plasticome-frontend.
Essa é uma api para lidar com a base de dados nesse caso a escolhida foi PostgreSQL, e atualmente para acessar as rotas é necessário um token, para que esse token ser gerado é nessário autenticar na rota de autenticação com um usuário e senha, porém no momento atual desse commit o usuário e senha devem ser adicionados manualmente no banco de dados 😶😵. Adicionei também um dump do banco de dados com as enzimas com degradação comprovada mapeadas até novembro de 2023.
- Certifique-se de ter o python 3.9+
- Tenha o gerenciador de pacotes do poetry instalado (pode usar outro e instalar as bibliotecas manualmente, mas recomendo fortemente o poetry)
- Crie o ambiente virtual do poetry na raiz do projeto com
poetry shell
- Instale as dependências com
poetry install
- Tenha uma base de dados postgres disponível localmente ou em nuvem como (https://www.elephantsql.com/)
- Duplique o arquivo .env.example
- Apaque o sufixo
.example
e preencha nesse arquivo todas as informações necessárias - Descomente as linhas 33, 34 e 35 do arquivo
metadata_enzyme_model.py
e rode o arquivo para que as tabelas das enzimas sejam criadas - Descomente as linhas 16,17 e 18 do arquivo
user_model.py
e rode o arquivo para que a tabela de usuários seja criada - Certifique-se que todas as tabelas foram devidamente criadas
- Execute a função
create_user
do arquivouser_service.py
, passando como parâmetros o usuário e a senha desejada, a função já fará o hash da senha antes de salvar no banco. - Com o usuário criado, você pode usar a rota de autenticação e conseguir o token que dará acesso à outras rotas como consulta às enzimas do banco, e até as análises do plasticome-backend
task - l
: Comando do taskipy para listar as tarefas configuradas
task lint
: Verifica se o código está seguindo as convenções da PEP8, usando blue e isort
task docs
: Serve a documentação
task teste
: Executa os testes da aplicação
task run
: Executa o servidor flask
- Adicionar testes unitários
- Melhorar segurança