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
.env
file and set:
OLD_MYSQL_PASSWORD
for data migration- Any other environment variables if needed
- Start development environment from previous production setup:
./devops/start-from-scratch-again.sh
This 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 test
Generate migrations:
docker compose exec web python manage.py makemigrations
Apply 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