- URL:
http://165.232.140.38:8001/pedidos/api/products/ - Método: GET
- Resposta de Sucesso:
- Código: 200 OK
- Conteúdo: Lista de produtos
- URL:
http://165.232.140.38:8001/pedidos/api/products/{id}/ - Método: GET
- Resposta de Sucesso:
- Código: 200 OK
- Conteúdo: Detalhes do produto
- URL:
http://165.232.140.38:8001/pedidos/api/products/ - Método: POST
- Dados:
{ "name": "Nome do Produto", "description": "Descrição do produto", "price": "19.99", "image_url": "https://exemplo.com/imagem.jpg" } - Resposta de Sucesso:
- Código: 201 Created
- Conteúdo: Detalhes do produto criado
- URL:
http://165.232.140.38:8001/pedidos/api/products/{id}/ - Método: PUT
- Dados:
{ "name": "Nome Atualizado", "description": "Descrição atualizada", "price": "29.99", "image_url": "https://exemplo.com/nova-imagem.jpg" } - Resposta de Sucesso:
- Código: 200 OK
- Conteúdo: Detalhes do produto atualizado
- URL:
http://165.232.140.38:8001/pedidos/api/products/{id}/ - Método: PATCH
- Dados:
{ "price": "24.99" } - Resposta de Sucesso:
- Código: 200 OK
- Conteúdo: Detalhes do produto atualizado
- URL:
http://165.232.140.38:8001/pedidos/api/products/{id}/ - Método: DELETE
- Resposta de Sucesso:
- Código: 204 No Content
- URL:
http://165.232.140.38:8001/pedidos/api/products/{id}/reviews/ - Método: GET
- Resposta de Sucesso:
- Código: 200 OK
- Conteúdo: Lista de avaliações do produto
- URL:
http://165.232.140.38:8001/pedidos/api/orders/ - Método: GET
- Observação: Usuários comuns verão apenas seus próprios pedidos. Administradores verão todos os pedidos.
- Resposta de Sucesso:
- Código: 200 OK
- Conteúdo: Lista de pedidos
- URL:
http://165.232.140.38:8001/pedidos/api/orders/{id}/ - Método: GET
- Resposta de Sucesso:
- Código: 200 OK
- Conteúdo: Detalhes do pedido, incluindo itens
- URL:
http://165.232.140.38:8001/pedidos/api/orders/ - Método: POST
- Dados:
{ "status": "Pendente" } - Observação: O usuário é automaticamente associado ao pedido logado.
- Resposta de Sucesso:
- Código: 201 Created
- Conteúdo: Detalhes do pedido criado
- URL:
http://165.232.140.38:8001/pedidos/api/orders/{id}/ - Método: PUT
- Dados:
{ "status": "Preparando" } - Resposta de Sucesso:
- Código: 200 OK
- Conteúdo: Detalhes do pedido atualizado
- URL:
http://165.232.140.38:8001/pedidos/api/orders/{id}/ - Método: PATCH
- Dados:
{ "status": "Entregue" } - Resposta de Sucesso:
- Código: 200 OK
- Conteúdo: Detalhes do pedido atualizado
- URL:
http://165.232.140.38:8001/pedidos/api/orders/{id}/ - Método: DELETE
- Resposta de Sucesso:
- Código: 204 No Content
- URL:
http://165.232.140.38:8001/pedidos/api/orders/{id}/calculate_total/ - Método: POST
- Resposta de Sucesso:
- Código: 200 OK
- Conteúdo: Detalhes do pedido com total atualizado
- URL:
http://165.232.140.38:8001/pedidos/api/order-items/ - Método: GET
- Observação: Usuários comuns verão apenas itens de seus próprios pedidos. Administradores verão todos os itens.
- Resposta de Sucesso:
- Código: 200 OK
- Conteúdo: Lista de itens de pedido
- URL:
http://165.232.140.38:8001/pedidos/api/order-items/{id}/ - Método: GET
- Resposta de Sucesso:
- Código: 200 OK
- Conteúdo: Detalhes do item de pedido
- URL:
http://165.232.140.38:8001/pedidos/api/order-items/ - Método: POST
- Dados:
{ "order": 1, "product": 2, "quantity": 3 } - Observação: O total do pedido é automaticamente recalculado.
- Resposta de Sucesso:
- Código: 201 Created
- Conteúdo: Detalhes do item de pedido criado
- URL:
http://165.232.140.38:8001/pedidos/api/order-items/{id}/ - Método: PUT
- Dados:
{ "order": 1, "product": 2, "quantity": 5 } - Observação: O total do pedido é automaticamente recalculado.
- Resposta de Sucesso:
- Código: 200 OK
- Conteúdo: Detalhes do item de pedido atualizado
- URL:
http://165.232.140.38:8001/pedidos/api/order-items/{id}/ - Método: PATCH
- Dados:
{ "quantity": 4 } - Observação: O total do pedido é automaticamente recalculado.
- Resposta de Sucesso:
- Código: 200 OK
- Conteúdo: Detalhes do item de pedido atualizado
- URL:
http://165.232.140.38:8001/pedidos/api/order-items/{id}/ - Método: DELETE
- Observação: O total do pedido é automaticamente recalculado.
- Resposta de Sucesso:
- Código: 204 No Content
- URL:
http://165.232.140.38:8001/pedidos/api/reviews/ - Método: GET
- Observação: Usuários comuns verão apenas suas próprias avaliações. Administradores verão todas as avaliações.
- Resposta de Sucesso:
- Código: 200 OK
- Conteúdo: Lista de avaliações
- URL:
http://165.232.140.38:8001/pedidos/api/reviews/{id}/ - Método: GET
- Resposta de Sucesso:
- Código: 200 OK
- Conteúdo: Detalhes da avaliação
- URL:
http://165.232.140.38:8001/pedidos/api/reviews/ - Método: POST
- Dados:
{ "product": 1, "rating": 5, "comment": "Excelente produto!" } - Observação: O usuário é automaticamente associado à avaliação.
- Resposta de Sucesso:
- Código: 201 Created
- Conteúdo: Detalhes da avaliação criada
- URL:
http://165.232.140.38:8001/pedidos/api/reviews/{id}/ - Método: PUT
- Dados:
{ "product": 1, "rating": 4, "comment": "Muito bom, mas poderia ser melhor." } - Resposta de Sucesso:
- Código: 200 OK
- Conteúdo: Detalhes da avaliação atualizada
- URL:
http://165.232.140.38:8001/pedidos/api/reviews/{id}/ - Método: PATCH
- Dados:
{ "rating": 3 } - Resposta de Sucesso:
- Código: 200 OK
- Conteúdo: Detalhes da avaliação atualizada
- URL:
http://165.232.140.38:8001/pedidos/api/reviews/{id}/ - Método: DELETE
- Resposta de Sucesso:
- Código: 204 No Content
Além da API REST, o sistema também oferece um painel administrativo completo acessível em:
- URL:
http://165.232.140.38:8001/admin/
No painel administrativo, os administradores podem gerenciar todos os modelos do sistema (Produtos, Pedidos, Itens de Pedido e Avaliações) através de uma interface gráfica amigável.
This project is configured to handle database connections in both Docker and non-Docker environments:
When running in Docker:
- The SQLite database file is stored in the
/app/db/directory inside the container - This directory is mapped to the
./db/directory in your project root via Docker volumes - The
docker-entrypoint.shscript handles:- Creating the database directory if needed
- Copying an existing database to the volume if applicable
- Running migrations
- Starting the Django server
When running locally (outside Docker):
- The SQLite database file is stored in the project root directory (
db.sqlite3) - Standard Django database access is used
The system automatically detects whether it's running in Docker by checking for the /.dockerenv file or the DOCKER_CONTAINER environment variable.