Este é um PROJETO EM ANDAMENTO de um sistema de e-commerce desenvolvido com Django e Django REST Framework. Ele inclui funcionalidades para gerenciamento de usuários, produtos e vendas, além de autenticação e autorização.
- Django
- Django REST Framework
- Pillow
- Django CORS Headers
- Django Extra Fields
CustomUser: Usuário personalizado com campos adicionais.Product: Modelo para produtos, incluindo título, descrição, preço, quantidade e imagem.Sales: Modelo para vendas, relacionando produtos, quantidade e usuário.
- Clone o repositório.
- Instale as dependências usando
pip install -r requirements.txt. - Configure o banco de dados no arquivo
settings.py. - Execute
python manage.py migratepara aplicar as migrações. - Inicie o servidor com
python manage.py runserver.
Repositório:https://github.com/maycon-mdrs/e-commerce-admin
Este projeto utiliza autenticação baseada em token. Após o login, um token é gerado e deve ser utilizado nas requisições subsequentes.
Para os endpoints que requerem autenticação, inclua o seguinte cabeçalho HTTP:
Headers:
{
Authorization: Token ${token}
}-
Registrar Usuário
POST /api/register/{ "name": "Nome", "phone_number": "123456789", "email": "email@example.com", "password": "senha123" } -
Login
Retorna um Token de acessoPOST /api/login/{ "email": "email@example.com", "password": "senha123" } -
Logout
Requer autenticação
Não requer JSONPOST /api/logout/ -
Atualizar Usuário
Requer autenticaçãoPATCH /api/user/update/{ "name": "Novo Nome", "phone_number": "987654321", "current_password": "senha123", "password": "novaSenha123" } -
Deletar Usuário
Requer autenticaçãoDELETE /api/user/delete/{ "password": "senha123" }
-
Get Produtos
Requer autenticação
Não requer JSONGET /api/produtos/ -
Criar Produto
Requer autenticaçãoPOST /api/produto/create/{ "title": "Produto", "description": "Descrição do Produto", "price": 100.0, "quantity": 10, "image": "data:image/png;base64,..." } -
Atualizar Produto
Requer autenticaçãoPATCH /api/produto/update/<int:pk>/{ "title": "Novo Produto", "description": "Nova Descrição", "price": 150.0, "quantity": 5, "image": "data:image/jpeg;base64,..." } -
Deletar Produto
Requer autenticação
Não requer JSONDELETE /api/produto/delete/<int:pk>/
- Senhas são armazenadas de forma segura.
- O sistema de autenticação e autorização garante que apenas usuários com permissões adequadas possam acessar ou modificar dados sensíveis.
python -m venv venv
.\venv\Scripts\activate
pip install django
pip install djangorestframework
django-admin startproject [name] .
python manage.py startapp [name]
python manage.py runserver
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser