Nesta aplicação temos como objetivo a criação de um serviço para para o famoso "jogo da velha". O objetivo é simples através de uma request você irá começar uma partida e adquirir o ID da mesma. Logo em seguida o jogador inicial irá fazer o movimento e depois outro jogador irá fazer o próximo movimento. Além de ser um ótimo modo para aplicar os meus conhecimentos este projeto foi feito na linguagem PYTHON e SEM USAR BANCO DE DADOS EXTERNOS como pré-requisitos para o desenvolvimento.
Índice
- Python 3.x
O arquivo .env
serve para setar variáveis de ambiente em modo de desenvolvimento.
Váriaveis de ambientes da aplicação
Environment | Default value |
---|---|
HOST | 0.0.0.0 |
PORT | 9000 |
SQLALCHEMY_DATABASE_NAME | tic-tac-toe |
SQLALCHEMY_DATABASE_URI | sqlite:///tic-tac-toe.db |
SWAGGER_VISIBLE | True |
SQLALCHEMY_TRACK_MODIFICATIONS | True |
SQLALCHEMY_ECHO | True |
TESTING | False |
FLASK_ENV | development |
DEBUG | False |
Instalar o Virtual Env
pip install virtualenv
Iniciar ambiente virtual
virtualenv venv
Ativar ambiente virtual
- Linux
source venv/bin/activate
- Windows
venv\Scripts\activate
Desativar ambiente virtual
deactivate
Instalar dependências
pip install -r requirements.txt
Setar a variável de ambiente
export FLASK_APP=app
Para iniciar a aplicação
flask run
Para acessar a documentação basta seguit no link disponível.
http://localhost:5000/docs
flask db init
flask db migrate -m "DIGITA UMA MENSAGEM CURTA"
flask db upgrade
flask db downgrade
flask db current
flask db history
flask db --help
O Coverage é uma ferramenta para medir a cobertura de código de programas em Python. Ele monitora seu programa, observando quais partes do código foram executadas, em seguida, analisa a fonte para identificar o código que poderia ter sido executado, mas não foi.
Instalar dependência
pip install coverage
Para executar os testes rode os comandos abaixo
coverage run -m nose -v
Para gerar um relatório de seus testes execute
coverage report -m
Para verificar os detalhes de seu código você pode gerar um html dos relatórios e analisar individualmente cada parte de seu código. Para isso basta rodar o comando abaixo
coverage html