API REST para plataforma de leilões online desenvolvida com TDD, seguindo Clean Architecture e aplicando princípios SOLID.
Arquitetura em camadas seguindo SRP com 95%+ de cobertura em 85+ testes, utilizando método ZOMBIES.
| Método | Endpoint | Descrição |
|---|---|---|
| POST | /api/auth/register |
Registrar usuário |
| POST | /api/auth/login |
Autenticar |
| POST | /api/create_listing/ |
Criar leilão |
| POST | /api/listing/:id/bid |
Fazer lance |
| POST | /api/listing/:id/close |
Fechar leilão (dono) |
| GET | /api/auctions/ |
Listar leilões ativos |
| GET | /api/watchlist/ |
Ver favoritos |
📖 Documentação completa: http://127.0.0.1:8000/api/docs
- Python 3.13+
- pip (gerenciador de pacotes Python)
- Git
git clone https://github.com/Ayrton-Machado/auction-platform-api
cd auction-platform-apipip install virtualenvLinux/MacOS:
python -m venv venv
source venv/bin/activateWindows:
python -m venv venv
venv\Scripts\activate💡 Dica: Você verá
(venv)no início da linha de comando quando o ambiente estiver ativo.
pip install -r requirements.txtpython manage.py makemigrations
python manage.py migratepython manage.py createsuperuserpython manage.py runserverpytestpytest --cov=auctions --cov-report=html --cov-report=term-missingcoverage report✅ Servidor disponível em: http://127.0.0.1:8000/
- Admin: http://127.0.0.1:8000/api/admin
- Documentação: http://127.0.0.1:8000/api/docs
deactivate- API REST com Django REST Framework
- Sistema de autenticação e registro
- CRUD completo de leilões
- Sistema de lances com validação
- Watchlist e comentários
- Testes unitários com pytest
- Documentação com drf-spectacular
Funcionalidades Core:
- Autenticação JWT (substituir sessions)
- Postgres (substituir SQLite3)
- Sistema de notificações em tempo real (WebSockets)
- Sistema de lances em tempo real (WebSockets)
- Paginação e filtros avançados
- Upload de múltiplas imagens
Infraestrutura:
- Dockerização completa (Docker Compose)
- CI/CD com GitHub Actions
- Testes automáticos em PRs
- Monitoramento com Prometheus + Grafana
Funcionalidades Futuras:
- Implementação de IA + Dados
- Incrementar Cripto como Pagamento
Este projeto está sob licença. Veja o arquivo LICENSE para mais detalhes.