- Fábio Matheus Mantelli
- Fillipe Calza
- Julio Cezar Riffel
- Luan Fernando de Souza Ferreira
- Paulo Rogerio Kraemer
O projeto final é uma API, utilizando Django como framework, e a biblioteca ou toolkit Django REST Framework.
No contexto do projeto, esta API será utilizada por uma empresa de televendas, para calcular a comissão dos vendedores, de acordo com um plano de comissões.
De acordo com os requisitos há três entidades principais, conforme diagrama abaixo:
Plan
para os planos de comissão;Seller
para os vendedores;Sale
para as vendas;
A documentação da API foi gerada no formato OpenAPI, com a biblioteca drf-yasg. A qual provê interfaces (swagger e redoc) para visualizar a documentação e interagir com os endpoints da API.
Exemplo da documentação dos endpoints API, acessível em swagger/
.
Opcional (para execução com docker)
$ git clone git@github.com:codenation-dev/squad-4-ad-python-2.git
$ cd squad-4-ad-python-2
$ pip install pipenv
$ pipenv install [--dev]
Ao executar o comando
$ pipenv install
, um ambiente virtual será criado automaticamente, caso não haja um ambiente virtual já ativo.
O argumento
--dev
instalará as dependências para desenvolvimento
Para verificar o caminho do ambiente virtual criado, execute $ pipenv --venv
.
Para acessar o ambiente ativo, execute $ pipenv shell
As variáveis de ambiente para o projeto, como debug e configurações de e-mail, devem estar setadas no arquivo
televendas/.env
, caso o arquivo não exista uma exceção será levantada.
Há um arquivo de exemplo em televendas/.env.example.
No diretório do projeto
$ ./manage.py migrate
$ ./manage.py runserver [host]:[port]
- Execução com Docker CE & Docker-compose
*Depende de docker and docker-compose
$ docker-compose build [web db]
$ docker-compose up [web db] [-d]
Criar super usuário
$./manage.py createsuperuser
Após este comando é necessário prosseguir informando os dados requisitados (username, email, password)
$ ./manage.py test
Cobertura de testes do app api
.
Executar coverage:
$ coverage run --source='.' manage.py test api
Este comando executará os testes e gerará os dados de cobertura, e que poderão ser acessados com os comandos abaixo
Visualizar cobertura no terminal
$ coverage report
Visualizar cobertura em html
$ coverage html
Apoś executar o comando acima, será possível verificar a cobertura abrindo o arquivo html gerado em
htmlcov/index.html
Cobertura de código gerada em 23/07/2019, utilizado coverage e coverage-badge