Skip to content

Latest commit

 

History

History
87 lines (55 loc) · 2.49 KB

rodando_projeto.md

File metadata and controls

87 lines (55 loc) · 2.49 KB

Executando o projeto

O projeto todo foi concebido usando python 3.8.5. O projeto deve funcionar para qualquer versão do python 3.8, porém algumas features pode não funcionar corretamente com versões menores ou maiores. Você pode usar o pyenv para gerenciar as instalações de versões do python. Se você já usa pyenv, temos um arquivo .python-version no projeto e isso não deve ser um problema para você.

Projeto atualizado para 3.9.2 (02/04/2021)

Configurando o poetry

O projeto todo é usado com base no Poetry. Tanto o gerenciamento de ambiente virtual, quanto as instalações de pacotes. Certifique-se que você tem o poetry instalado no seu ambiente, caso não tenha:

pip install poetry  # pip3 caso ainda tenha o python 2 instalado
poetry install      # Para instalar todos os pacotes
poetry shell        # Para reproduzir os comando a seguir nesse documento

Lembrando que caso não gostei de usar poetry shell você pode usar poetry run antes de cada linha desse tutorial, como por exemplo poetry run flask db update

Como rodar a aplicação em desenvolvimento?

Antes de tudo é necessário declarar as variáveis de ambiente do Flask.

Caso você deseje rodar os testes de comportamento, eles fazem uso de rotas exclusivas que são executadas somente no FLASK_ENV=testing

export FLASK_APP=app

export FLASK_ENV=development

Lembrando que é importante que você rode as migrações para que o banco esteja configurado.

flask db upgrade

Aí sim podemos rodar nosso projeto

flask run

Assim a aplicação deve ser iniciada sem grandes problemas.

Também foi criado um script que sobe a aplicação com um único comando

bash start.sh

Executando com docker

docker build -f dockerfile-app . -t todo_list

docker run -it -p 80:80 --name="todo_list" todo_list

Executando o docker-compose

docker-compose up --build

Rodando os testes de unidade

Caso tenha interesse em rodar os testes de unidade, você deve se certificar que está com as variáveis de ambiente do flask configuradas.

python -m pytest  # Ou somente pytest, após um `pip install -e.`

Caso você queira ver a cobertura dos testes

coverage --source app -m pytest

Ver o report de cobertura

coverage html

Os arquivos serão gerados na pasta 'htmlcov'. Você pode abrir o index.html no seu browser de preferência e explorar o que não está coberto.