A Django-based vehicle reservation system for YWAM, converted from a 2010 PHP project.
- Vehicle reservation management
- Driver management
- Department cross-charging
- Service scheduling
- Trip tracking
- Email notifications
- Docker
- Docker Compose
- Git
- Clone the repository:
git clone <repository-url>
cd transport- Generate initial environment file:
./devops/generate-initial-env-with-secrets.sh- Edit
.envfile and set:
OLD_MYSQL_PASSWORDfor data migration- Any other environment variables if needed
- Start development environment from previous production setup:
./devops/start-from-scratch-again.shThis script will:
- Download latest MySQL data (if needed)
- Reset Docker volumes
- Start database services
- Migrate data from MySQL to PostgreSQL
- Run Django migrations
- Create superuser
- Start development server
- Django admin interface: http://localhost:8000/admin/
- Main application: http://localhost:8000/
- Django 3.2
- PostgreSQL
- Docker
- HTMX
- Bootstrap 5
- Unfold Admin
transport/- Main Django appold/- Original PHP codebasedevops/- Development and deployment toolsstatic/- Static filestemplates/- HTML templates
- Create a feature branch
- Make changes
- Run tests
- Submit pull request
docker compose exec web python manage.py testGenerate migrations:
docker compose exec web python manage.py makemigrationsApply migrations:
docker compose exec web python manage.py migrate- Use Django best practices
- Follow PEP 8 style guide
- Write tests for new features
- Document code changes