- Python 3.10+
- Django 4+
- Django REST Framework
- PostgreSQL
- Swagger
A API permite:
- CRUD de clientes com detalhes pessoais.
- Registro de vendas por cliente.
- Estatísticas detalhadas de vendas.
- Autenticação via token com validade de 60 minutos.
- Documentação Swagger integrada.
git clone https://github.com/seu-usuario/playnest_api.git
cd playnest_apipython -m venv venv
source venv/bin/activate # Linuxpip install -r requirements.txtNa raiz do projeto, crie um arquivo .env com o seguinte conteúdo:
API_TOKEN=seu_token_de_api
SECRET_KEY=sua_django_secret_key
DB_NAME=nome_do_banco
DB_USER=usuario_do_banco
DB_PASSWORD=senha_do_banco
DB_HOST=host
DB_PORT=port
⚠️ Certifique-se de que o PostgreSQL esteja rodando localmente com essas credenciais ou use um banco remoto (ex: Render).
Altere o settings.py
Substitua a configuração DATABASES por:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
⚠️ Importante: com SQLite, o Django cria um arquivodb.sqlite3automaticamente no diretório raiz do projeto.
python manage.py migratepython manage.py runserverTodos os endpoints da API exigem Token de acesso.
[POST] /api/register/
Payload:
{
"email": "usuario@example.com",
"password": "sua_senha",
"name": "Nome do Usuário",
"birthday": "1990-01-01"
}
POST /api/login/
Payload:
{
"email": "usuario@example.com",
"password": "sua_senha"
}Use esse token nos headers:
Authorization: Bearer <token>
O token expira em 60 minutos.
Acesse via Swagger:
GET /api/docs/
Rode os testes automatizados com:
python manage.py test
-
O arquivo
.envNÃO deve ser versionado. -
Adicione no
.gitignore:
__pycache__/
*.pyc
*.sqlite3
.env
- Todas as requisições protegidas exigem token.
Em caso de dúvidas ou sugestões, abra uma issue neste repositório.