TUBCO Onboarding & Offboarding Portal

This is the standalone dockerized web application for the TUBCO onboarding and offboarding workflow.

Services

  • web: Django app (http://localhost:8000)
  • worker: Celery async tasks
  • db: PostgreSQL
  • redis: task broker
  • mailhog: local email inbox (http://localhost:8025)

Quick start

  1. Copy env file:
    • cp .env.example .env
  2. Fill .env values (reuse your current credentials privately).
  3. Start services:
    • docker compose up --build
  4. Open app:
    • http://localhost:8000/onboarding/new/
  5. Open test mailbox:
    • http://localhost:8025

Current implemented scope

  • Onboarding form with labels mapped from your CSV schema.
  • Stores requests in PostgreSQL.
  • Generates a personalized PDF (simple first version).
  • Sends notification email via Celery.
  • Optional Nextcloud upload hook (toggle with NEXTCLOUD_ENABLED=1).

Staging E2E verification

Run a real workflow verification (onboarding + offboarding), including PDF checks and optional email/Nextcloud evidence:

  • Default (auto MailHog detection, Nextcloud check enabled if configured):
    • docker compose exec -T web python manage.py run_staging_e2e_check
  • With cleanup (removes generated E2E DB rows/PDFs after run):
    • docker compose exec -T web python manage.py run_staging_e2e_check --cleanup
  • Force MailHog verification mode:
    • docker compose exec -T web python manage.py run_staging_e2e_check --email-check mailhog --mailhog-api-url http://mailhog:8025/api/v2/messages
  • Skip Nextcloud existence checks:
    • docker compose exec -T web python manage.py run_staging_e2e_check --skip-nextcloud
Description
No description provided
Readme 1.2 MiB
Languages
Python 56%
HTML 28.1%
CSS 12%
JavaScript 2.6%
Shell 1.2%