Na raiz do projeto, execute o seguinte comando para instalar as dependências necessárias:
pip install -r requirements.txt
Na raiz do projeto, execute o seguinte comando para gerar o arquivo key.key
python generate.key.py
# NÃO EXCLUA O ARQUIVO GERADO
Este arquivo contém a chave responsável por codificar e decodificar as senhas criadas pela API. Não exclua.
Com o ambiente configurado, crie um novo schema em seu MySql e restaure o arquivo "db-structure.sql" localizado na raiz do projeto
Dentro da pasta raiz do projeto, execute:
mysql -u [usuario_do_Banco] -p [nome_do_banco] < db-structure.sql
Utilizando o cmd, navegue até a pasta bin do MySql e execute:
mysql -u [usuario_do_Banco] -p [nome_do_banco] < "[diretorio_raiz_do_projeto]/db-structure.sql"
Abra o arquivo "db-structure.sql" em seu MySql Workbench e execute a query
No diretório raiz do projeto, crie um arquvio ".env" e edite-o da seguinte forma:
DB_USER=[usuario_do_bd]
DB_PASS=[senha_do_bd]
DB_IP=[endereco_do_bd]
DB_PORT=[porta_do_bd]
DB_NAME=[nome_do_bd]
API_PORT=[porta_da_api]
MYSQL_URI=mysql://${DB_USER}:${DB_PASS}@${DB_IP}:${DB_PORT}/${DB_NAME}
SECRET_SHH=[crie_uma_chave_secreta_para_uso_do_JWT]
Salve o arquivo.
Na pasta raiz do projeto execute:
python main.py
Exemplo de output caso todas as configurações estejam corretas:
* Serving Flask app 'main' (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: on
* Restarting with stat
* Debugger is active!
* Debugger PIN: 582-393-193
* Running on http://localhost:8000/ (Press CTRL+C to quit)
{{url-base}}/signup
{
"username":"foo",
"email":"foo@bar.com",
"senha":"foobar123",
"nome_completo":"Foo Bar 123",
"endereco":"Foo Bar 123"
}
{{url-base}}/signin
{
"email":"foo@bar.com",
"senha":"foobar123"
}