A full-stack ride-sharing application built with Django (backend), Vite + React (frontend), Docker, and PostgreSQL.
-
Backend: Django + Django REST Framework
-
Frontend: Vite + React
-
Database: PostgreSQL
-
Containerization: Docker + Docker Compose
-
Testing: tox, pytest, coverage
-
Dev Tools: Pre-commit, linters, formatters
-
Other Tools: DBeaver
Create a copy of backend/.env.template and rename the new file to .env.
Change the environment values accordingly.
# run on development mode
./docker.sh up-build devtox -e py12 -- --tb=noCheck docs/testing.md for other useful tox commands.
# list all generated route names
python manage.py show_urls# Start dev environment in background
./docker.sh up dev
# Tail logs for dev
./docker.sh logs dev
# Rebuild and start prod
./docker.sh up-build prod
# Exec into prod backend container
./docker.sh bash prod
# stopCheck docker.sh for more commands.
The API documentation can be accessed via http://localhost:8000/api/docs/. Note that this is only available on DEVELOPMENT mode.
Go to http://localhost:8000/api/schema/ to download the API Schema in OpenAPI format.
Miscellaneous documentation is available in the /docs/ directory:
-
postgresql.md: Local PostgreSQL setup
-
tools.md: Overview of tools and services used in the project
-
django.md: Guide on generating fixtures, and how to load the fixtures.
-
long_trip_report.md: Raw SQL query for the long trip report
Refer to these files for deeper configuration notes and development context.