Api em Flask com intenção de ser escalável, com estrutura pensada para seguir um padrão Domain Drive Design. O nome espresso veio em homenagem ao grande companheiro dos desenvolvedores, o café expresso.
O repositório possui ambiente Docker pronto para levantar a estrutura necessária, localmente.
Para levantar o ambiente é necessário:
- Adicionar um arquivo .env baseado no arquivo .env_example.
$ make install
$ make run
$ make clean
$ make greet
Aconselhamos que seja utilizado o Docker para testes, mas se desejar executar a api em seu ambiente local, você poderá efetuar os seguintes passos:
- Crie o seu próprio virutalenv baseado no python 3.8
- Instale as dependências contidas no arquivo requirements.txt
- Registre as variáveis do arquivo .env_example junto ao seu virtualenv
$(venv) uwsgi --ini="uwsgi.ini"
- Adicionar execução através de script uWSGI.
- Renomear o domínio de teste 'File' para algo mais intuitivo.
- Adicionar driver MongoDB em "app/core".
- Adicionar driver Mysql em "app/core".
- Adicionar driver PostgreSQL em "app/core".
- Adicionar suporte ao Redis em "app/core".
- Melhorar código por linters.
- Criar comando 'make lint'.
- Criar paradigma de migrations.
- Criar entidades/models de exemplo.
- Incluír unittest.
O domínio 'example' serve apenas como teste para iniciar o desenvolvimento da API.
- jsonify
Testa se a rota do domínio está respondendo de acordo, executando no Controller do domínio File, a função mainPage().
Resposta:
{
"message": "Main Success",
"status": 200
}
Testa a comunicação com o banco. Retorna os bancos disponíveis na base.
Resposta:
{
"message": [
[
"espresso_db"
],
[
"information_schema"
],
[
"mysql"
],
[
"performance_schema"
]
],
"status": 200
}
Usage: espresso hello [OPTIONS]
A greet function.
Options:
--name TEXT Your name.
--help Show this message and exit.