valescamoura / chess

Jogo de xadrez com interface web realizado como trabalho final da disciplina de Engenharia de Software II.

Home Page:https://chess-es2-20221.herokuapp.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Chess

Jogo de xadrez com interface web realizado como trabalho final da disciplina de Engenharia de Software II (2022/1).

Deploy já disponível no Heroku.

Requisitos

  1. Instale Python 3.x.

Dev setup

Execute os comandos a partir do diretório base.

  1. Crie o ambiente virtual Python através do comando: python -m venv venv.

  2. Ative o ambiente virtual:
    Windows: ./venv/Scripts/activate.
    Linux/Mac: source ./venv/bin/activate.

  3. Instale as dependências: pip install -r requirements.txt.

  4. Inicie o servidor: python manage.py runserver. O serviço é acessado por padrão através da url http://127.0.0.1:8000/.

Chess

Jogo de xadrez com interface web realizado como trabalho final da disciplina de Engenharia de Software II (2022/1).

Deploy já disponível no Heroku.

Requisitos

  1. Instale Python 3.x.

Dev setup

Execute os comandos a partir do diretório base.

  1. Crie o ambiente virtual Python através do comando: python -m venv venv.

  2. Ative o ambiente virtual:
    Windows: ./venv/Scripts/activate.
    Linux/Mac: source ./venv/bin/activate.

  3. Instale as dependências: pip install -r requirements.txt.

  4. Inicie o servidor: python manage.py runserver. O serviço é acessado por padrão através da url http://127.0.0.1:8000/.

Testes

Para rodar os testes ative o ambiente virtual

  1. Comando para rodar todos os testes: python -m unittest discover -s tests
  2. Comando para rodar um teste em específico: python -m unittest tests/nomeDoArquivoDeTeste.py

Cobertura dos Testes

  1. Instale o coverage.py no seu ambiente virtual: pip install coverage

  2. Comando para rodar o testes de cobertura: coverage run -m unittest tests/test_ia.py tests/test_services.py tests/test_board.py

  3. Use para obter um relatório da cobertura em seu terminal de comando: coverage report -m

  4. Para uma apresentação melhor desse relatório, use este comando para obter esse relatório em páginas HTML: coverage html

    Consulte a pasta htmlcov que foi gerada.

Guia do desenvolvedor

  1. Estamos utilizando uma lógica Trunk-based development.

  2. Commits e pushes não podem ser enviados diretamente para branch main. Cada desenvolvedor deve trabalhar em sua branch e abrir um pull request com suas adições. Cada pull request deverá ter aprovação de 1 revisor e passar pelas etapas de build, lint e testes com sucesso para que o merge com a main possa ser realizado.

  3. Cada merge feito com a main, sobe automaticamente uma nova release do deploy no Heroku. Para garantir que o deploy não "quebre", existem as verificações antes do código ir para a branch main.

  4. Ao instalar uma nova biblioteca, não se esqueça de adicioná-la aos requirements.

    • Hint: pip freeze > requirements.txt
  5. Para atualizar localmente as branchs já deletadas no repositório utilize git pull && git remote update origin --prune.

About

Jogo de xadrez com interface web realizado como trabalho final da disciplina de Engenharia de Software II.

https://chess-es2-20221.herokuapp.com/

License:GNU Affero General Public License v3.0


Languages

Language:Python 72.4%Language:JavaScript 14.1%Language:HTML 11.4%Language:CSS 2.0%Language:Shell 0.1%Language:Procfile 0.0%