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
- Open the application URL (e.g. http://localhost:5001 for QA, http://localhost:5000 for production).
- The home page should load without errors.
- 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
- Deploy QA and production — Deploy with the pre-built container image
- Configuration — Environment variables and load order
- Database backup — Back up and restore PostgreSQL
- Initial data entry after deployment — First steps for directors and managers