# A clearer view of every order

Varveta reference design | Data engineering

Mock design with fictional data. This is a proposed design, not a completed client implementation.

## The need

Orders change throughout the day. Operations needs to see what moved, what stalled, and whether the reporting data is current.

## Proposed approach

Send database changes to a separate reporting store, then give the team a dashboard with delivery status and visible data freshness.

## System flow

1. PostgreSQL: Order changes
2. Debezium + Kafka: Capture and buffer updates
3. PostgreSQL: Reporting tables
4. Grafana: Operational view

## Design decisions

### Keep reporting separate

Query a reporting copy so dashboard demand can be managed independently of checkout traffic

### Make freshness visible

Show the last processed update and alert when data falls behind the agreed threshold

### Plan for replay

Use stable record keys and source offsets to recover from interruptions without duplicating orders

## Checks before release

- Replay the same event without creating duplicate records
- Interrupt processing and reconcile recovered records with the source
- Show a stale-data warning when updates stop

## Handover to agree in scope

Source code and configuration, architecture notes, operating runbook, acceptance evidence, and knowledge-transfer sessions.

## Before quoting

Confirm source systems, data volumes, access requirements, hosting environment, acceptance criteria, ownership, and ongoing support.

Discuss this design: https://varveta.com/contact?service=data-pipeline-implementation
