This project demonstrates the implementation of a RESTful API using modern development practices and tools:
- Python with Django and Django REST Framework
- PostgreSQL database
- Docker containerization
- GitLab CI/CD pipeline
- Test-Driven Development (TDD) methodology
- Unit and integration testing with pytest
- Docker-based development and testing environment
- Code quality checking with linters
- Parallel test execution with pytest-xdist
- Custom User model in Django
- RESTful API using Django REST Framework Views and Serializers
- API documentation with Swagger/OpenAPI and Core API
- Static asset management with WhiteNoise
- Test parameterization and mocking with pytest
- Docker multi-stage builds for production
- Docker cache optimization for CI/CD
- Continuous Integration with GitLab CI
- Deployment to Heroku with Docker
- Production setup with Gunicorn and Postgres