A Django-based web app for relationship red-flag analysis with a structured questionnaire and scoring model.
- Django 5.x
- PostgreSQL
- HTMX + Tailwind CSS (server-rendered)
- Gunicorn + Nginx
- Docker, uv, Ruff, MyPy, Pytest
# Create venv and install dependencies
just setup
# Run migrations
uv run python django_app/manage.py migrate
# Seed questions
uv run python django_app/manage.py seed_questions
# Create admin user
uv run python django_app/manage.py createsuperuser
# Start dev server
just devOpen: http://localhost:8083
- Copy
django_app/.env.exampletodjango_app/.envand update values. - For Docker, update
django_app/.env.docker. - A full list of variables is in
.env.example.
Local dev:
just devDocker:
just docker-upOpen: http://localhost:8082
Docs:
docs/DOCKER_SETUP.mddocs/DOCKER_USAGE.mddocs/RAILWAY_DEPLOY.md
See examples/usage.sh for common commands.
# Format
just format
# Lint + format check
just lint
# Type check
just typecheck
# Tests
just test
# Full local CI (includes build)
just ci- Create a feature branch from
main. - Make changes and run
just formatandjust check. - Open a pull request and ensure CI is green.
- Squash or rebase before merge.
- Update
pyproject.tomlversion. - Run
just cilocally. - Tag the release:
git tag vX.Y.Z. - Push tags:
git push --tags. - GitHub Actions publishes artifacts and builds binaries.
- Database connection errors: use
docker-compose exec web ...inside the container. - Port conflicts: ensure 8082, 8083, and 5433 are available.
- Missing env vars: compare
django_app/.env.exampleand.env.example.
MIT. See LICENSE.