QA verification

Rediflow: Project flow. Portfolio flow. One flow.

For system administrators and operations staff — verify that a QA or production deployment is healthy and ready. Rediflow is built for reliability: migrations, audit logs, and data quality checks are part of the design. These steps give you confidence the solution is mature and production-ready.

When to run verification

  • After deployment: Right after deploying a new QA or production instance.
  • After upgrades: When you pull a new image or update the application.
  • Before handover: Before handing over to directors, managers, or employees.
  • Periodically: As part of your operational runbook (e.g. weekly health checks).

Step 1: Database connectivity

PostgreSQL is the only data store. The application refuses to start without a valid DATABASE_URL. Verify the database is reachable:

# From host (port 5432 exposed)
pg_isready -h localhost -p 5432 -U rediflow -d rediflow

# Or inside the database container
podman compose -f compose.deploy-qa.yml exec db pg_isready -U rediflow -d rediflow_qa

Exit code 0 means the database accepts connections.

Step 2: Migrations applied

Migrations must run before the app serves traffic. If you deployed with the container image, you ran:

podman compose -f compose.deploy-qa.yml run --rm app-qa rediflow migrate head

To confirm the schema is up to date, run migrate again. If there are no pending migrations, the command completes without changes. If new migrations exist, they will be applied.

Step 3: Application responds

  1. Open the application URL (e.g. http://localhost:5001 for QA, http://localhost:5000 for production).
  2. The home page should load without errors.
  3. Check that the top navigation shows Home, Projects, Graph, ORGS (or equivalent in your locale).

If you see a setup or configuration message, review Configuration and ensure DATABASE_URL and SECRET_KEY are set correctly.

Step 4: Basic smoke test

Action Expected result
Click Projects Projects list loads (may be empty).
Click ORGS Organisations list loads (may be empty).
Click Graph Graph view loads (may show empty or placeholder).
Open Help (if available) Help topics load.

These checks confirm that routing, templates, and database queries work. No errors in the browser console or network tab.

Step 5: Logs and health

Check application logs for errors:

# QA
podman compose -f compose.deploy-qa.yml logs -f app-qa

# Production
podman compose -f compose.deploy-prod.yml logs -f app-prod

Look for startup messages and absence of tracebacks. The app logs request errors and database issues.

Step 6: Optional — seed and verify data

If you have seed data (calendars, example projects), verify it loads:

# Seed country calendars (idempotent)
podman compose -f compose.deploy-qa.yml run --rm app-qa rediflow seed-calendars

After seeding, revisit Projects and ORGS to confirm data appears. See Seed projects and calendars for more options.

Maturity and reliability

Rediflow is built for operational use:

  • Schema migrations — Alembic migrations are additive and versioned. Run before each deployment.
  • Audit logging — Project, org, and settings changes recorded for traceability.
  • Data quality — Built-in checks help directors and managers spot inconsistencies.
  • Backup — All data in PostgreSQL. See Database backup for procedures.
  • Feature flags — Enable or disable features per environment. See Feature flags.

See also