A Django-based task management system with Celery for background processing and automatic task distribution.
- Docker
- Docker Compose
-
Clone the repository
git clone <repository-url> cd task_management_system
-
Start all services
docker-compose up -d
This will start:
- PostgreSQL database (port 5432)
- Redis (port 6379)
- Django web server (port 8000)
- Celery worker
- Celery beat scheduler
-
Run migrations
docker-compose exec web python manage.py migrate -
Create a superuser (optional)
docker-compose exec web python manage.py createsuperuser -
Access the application
- API: http://localhost:8000
- Admin: http://localhost:8000/admin
- API Documentation: http://localhost:8000/api/schema/swagger-ui/
View logs
docker-compose logs -f web
docker-compose logs -f celery_workerStop services
docker-compose downRestart a service
docker-compose restart webRun tests
docker-compose exec web pytestLoad fixtures
docker-compose exec web python manage.py loaddata fixtures.json- Django 5.1.3
- Django REST Framework 3.15.2
- PostgreSQL 16
- Redis 7
- Celery 5.4.0
The project uses volumes for hot-reloading, so code changes will automatically restart the Django development server.