{% load static %} Developer Handbook

Developer Handbook

Project Wiki Back to Home

Engineering runbook for development, deployment, maintenance, and extension of the TUBCO Onboarding & Offboarding Portal.

Overview Structure Local Dev Docker Database Translations PDF Pipeline Email Pipeline Nextcloud Builders Testing Deployment Troubleshooting Security

1) Overview

This handbook is for developers and maintainers. It documents the actual engineering workflow of the standalone product repository.

2) Repository Structure

3) Local Development Workflow

Start

cd /Users/bostame/Documents/tubco-onboarding-offboarding-portal
docker compose up -d --build

Main URLs

Bootstrap users

4) Docker Operations

docker compose up -d --build
docker compose restart web
docker compose restart worker
docker compose logs --no-color --tail=120 web
docker compose logs --no-color --tail=120 worker
docker compose down
docker compose down -v
The source code is bind-mounted into the container. Most template/view/static changes only require a web restart, not a full rebuild. Image changes such as system packages require docker compose up -d --build.

5) Database and Migrations

docker compose exec -T web python manage.py makemigrations
docker compose exec -T web python manage.py migrate
docker compose exec -T web python manage.py check

6) Translation Workflow

Standard Django i18n path

make i18n-update-en
make i18n-compile

Equivalent raw commands:

docker compose exec -T web django-admin makemessages -l en
docker compose exec -T web django-admin compilemessages

7) PDF Pipeline

xhtml2pdf is sensitive to layout complexity. Keep print templates conservative and verify every structural change with a real generated PDF.

8) Email Pipeline

9) Nextcloud Integration

10) Builder Architecture

Form Builder

Intro Builder

Dynamic content should use explicit DE/EN fields with German fallback, not machine translation at runtime.

11) Testing and Validation

docker compose exec -T web python manage.py check
docker compose exec -T web python manage.py test
docker compose exec -T web python manage.py run_staging_e2e_check

12) Deployment and Release Checklist

  1. Run manage.py check
  2. Run tests or targeted verification
  3. Run translation compile step
  4. Generate at least one onboarding/offboarding PDF if PDF templates changed
  5. Verify MailHog or SMTP path if email behavior changed
  6. Verify Nextcloud upload if integration behavior changed
  7. Update Project Wiki and Developer Handbook if architecture/workflow changed
  8. Take a snapshot commit before major next-phase work

13) Troubleshooting

14) Security and Maintenance Notes