An online auction platform built with Django, DRF, and PostgreSQL. The system supports user authentication, bidding, and automated auction closing using Celery.
- User Authentication – Secure login and registration.
- Auction Management – Create, update, and monitor auctions.
- Bidding System – Place and track bids in real time.
- Automated Auction Closing – Background tasks using Celery and Redis.
- REST API – Expose auction data via a well-structured API.
- Database Support – PostgreSQL for robust and scalable data storage.
- Dockerized Deployment – Easily deploy the project using Docker.
- Backend: Python, Django, Django REST Framework (DRF)
- Database: PostgreSQL
- Task Queue: Celery + Redis
- Containerization: Docker, Docker Compose
Ensure you have the following installed:
git clone https://github.com/yourusername/auction-platform.git
cd auction-platformCreate a .env file in the project root and configure the following variables:
DJANGO_SECRET_KEY=your_secret_key
POSTGRES_DB=auction_db
POSTGRES_USER=auction_user
POSTGRES_PASSWORD=secure_password
REDIS_HOST=redis
REDIS_PORT=6379Run the following command to start the project using Docker:
docker-compose up --buildAfter first built use:
docker-compose updocker-compose exec web python manage.py migratedocker-compose exec -it mate_auction_be-app-1 python manage.py createsuperuser- API Endpoints:
http://localhost:8000/api/ - Admin Panel:
http://localhost:8000/admin/
docker-compose logs -fdocker-compose downYou can access the automatically generated API documentation at:
http://localhost:8000/api/schema/swagger-ui/
or
http://localhost:8000/redoc/
- WebSocket integration for real-time bidding updates.
- Advanced filtering and search for auctions.
- Role-based access control.
Feel free to open issues and submit pull requests to enhance the platform.
This project is licensed under the MIT License.
🚀 Happy Bidding!