Este é um projeto de API RESTful desenvolvida com Django e Django REST Framework para um e-commerce fictício. A API permite realizar operações de CRUD (Criar, Ler, Atualizar, Deletar) sobre produtos, pedidos e itens de pedidos. O sistema também oferece funcionalidades para gerenciar usuários e autenticação via JWT (JSON Web Tokens), tornando-o ideal para e-commerces reais. A API foi projetada para ser fácil de usar, escalável e com o intuito de treinar e aprender boas práticas de desenvolvimento backend com Django.
- Registro de usuários via POST /users/register
- Autenticação com JWT para garantir acesso a endpoints protegidos.
- GET /products/: Listar todos os produtos.
- POST /products/: Criar um novo produto.
- GET /products/{id}/: Obter detalhes de um produto.
- PUT /products/{id}/: Atualizar informações de um produto.
- DELETE /products/{id}/: Deletar um produto.
- GET /orders/: Listar todos os pedidos.
- POST /orders/: Criar um novo pedido.
- GET /orders/{id}/: Detalhes de um pedido específico.
- PATCH /orders/{id}/: Atualizar status de um pedido (ex: "em processamento", "enviado", etc.).
- DELETE /orders/{id}/: Cancelar ou deletar um pedido.
- GET /orders/{id}/items/: Listar itens de um pedido específico.
- POST /orders/{id}/items/: Adicionar itens a um pedido.
- A API também fornece um painel de administração completo via Django Admin, onde você pode gerenciar produtos, pedidos e usuários de maneira fácil e eficiente.
- Python
- Django
- Django Rest Framework
- PostgreSQL
- JWT (Autenticação)
- DJango Admin
git clone https://github.com/coelhodd/Ecommerce-API.git
cd Ecommerce-API
python -m venv venv
source venv/bin/activate # No Windows: venv\Scripts\activate
pip install -r requirements.txt
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'nome_do_banco',
'USER': 'seu_usuario',
'PASSWORD': 'sua_senha',
'HOST': 'localhost',
'PORT': '5432',
}
}
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver