Este é o Desafio Final do programa Construdelas (treinamento de desenvolvedoras), promovido pela JuntosSomos+ e implementado pela WoMakersCode.
Criar uma API de e-commerce com Django Rest Framework.
- Deve ser possível cadastrar e listar clientes
- Deve ser possível cadastrar e listar produtos
- Deve ser possível cadastrar e listar pedidos
- O pedido é como o carrinho do cliente, onde é possível adicionar itens
- É obrigatório atribuir um cliente ao pedido
- Um item pode ser entendido como um produto que está no carrinho do cliente
- O produto, por sua vez, pode ser entendido como o produto em estoque no sistema de e-commerce
- É obrigatório atribuir um pedido ao item
- Um item tem uma quantidade, que é subtraída da quantidade de produtos em estoque
- É preciso que o produto tenha quantidade suficiente (esteja disponível em estoque) para que a criação do item seja efetuada
- No terminal da sua máquina, digite:
git clone git@github.com:<seu_usuario>/api_ecommerce_drf.git
, se você tem uma chave SSH no GitHub, ougit clone https://github.com/<seu_usuario>/api_ecommerce_drf.git
.
- Em seguida, entre na pasta criada no comando anterior usando
cd api_ecommerce_drf
- Crie seu ambiente virtual, digitando
python3 -m venv venv
- Ative seu ambiente virtual, digitando
.\venv\Scripts\activate
no Windows ouvenv/bin/activate
no Linux ou Mac
- Faça download das dependências do projeto, digitando
python3 -m pip install -r requirements.txt
- Crie o banco de dados digitando
python3 manage.py migrate
- Popule o banco com dados iniciais digitando
python3 manage.py popular_tabelas
. Atenção: Este comando deve ser rodado apenas uma vez.
- Teste a aplicação digitando
coverage run manage.py test
- Verifique a cobertura de testes digitando
coverage report -m
- Se preferir, crie um superusuário digitando
python3 manage.py createsuperuser
e siga as intruções para criar seu superusuário
- Levante o servidor, digitando
python3 manage.py runserver
- No navegador, acesse o localhost na porta 8000. Em máquinas Windows, você pode acessar o servidor digitando
http://127.0.0.1:8000/
no navegador.
- Adicione itens a um pedido no endpoint
itens/
. - Confira o pedido ao qual você adicionou itens usando o método get no endpoint
pedidos/<id>/
- Acesse a área administrativa digitando no navegador
http://127.0.0.1:8000/admin/
usando as informaçoes do seu superusuário
- GET
clientes/
, retorna lista de clientes cadastrados - POST
clientes/
, fornece campos para criação de um novo cliente - GET-PUT-DELETE
clientes/<cpf>/
, retorna dados de um cliente específico
- GET
produtos/
, retorna lista de produtos cadastrados - POST
produtos/
, fornece campos para criação de um novo produto - GET-PUT-DELETE
produtos/<id>/
, retorna dados de um produto específico
- GET
pedidos/
, retorna lista de pedidos cadastrados - POST
pedidos/
, fornece campos para criação de um novo pedido - GET-PUT-DELETE
pedidos/<id>/
, retorna dados de um produto específico - GET
pedidos/?cliente=<cpf>
, retorna lista de pedidos cadastrados de um cliente específico
- GET
itens/
, retorna lista de itens cadastrados - GET-PUT-DELETE
itens/<id>/
, retorna dados de um item específico - POST
itens/
, fornece campos para criação de um novo item