Skip to content

docs: record stack decisions (Fastify, dashboard) and update team context - #6

Merged
devinder-dev merged 2 commits into
mainfrom
docs/stack-decisions
Oct 25, 2026
Merged

devinder-dev merged 2 commits into
mainfrom
docs/stack-decisions

Conversation

@devinder-dev

Copy link
Copy Markdown
Owner

Adds decision records 0001 (Fastify for the API) and 0002 (Vite, React, Tailwind, React Router, axios for the dashboard). Updates docs/CONTEXT.md with the accepted foundation: walking-skeleton plan, lease-based queue, Standard Webhooks signing, retry schedule, data model v1, API v1, deploy over SSH with a forced command, S3 backups with Terraform, the HTTP to HTTPS redirect and DNS for cdn and grafana. README now lists the real stack and address names.

…text

Adds decision records 0001 (Fastify for the API) and 0002 (Vite, React, Tailwind, React Router, axios for the dashboard). Updates docs/CONTEXT.md with the accepted foundation: walking-skeleton plan, lease-based queue, Standard Webhooks signing, retry schedule, data model v1, API v1, deploy over SSH with a forced command, S3 backups with Terraform, the HTTP to HTTPS redirect and DNS for cdn and grafana. README now lists the real stack and address names.
Adds decision record 0003: Zod validates bodies, queries and environment variables; code is split into routes, services and repositories; one Fastify error handler gives every error the same shape. Decision 0001 now points to 0003 for validation, and CONTEXT and README list Zod.

@AbdikhaniAbdirashid AbdikhaniAbdirashid left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. One gap before I can start the dashboard: CONTEXT.md lists the endpoints but not what they return.

Main question: does GET /v1/deliveries include the event type and endpoint name inline, or only event_id and endpoint_id? If only ids, the delivery log needs an extra request per row to render.

I can draft the response shapes from the data model if that helps - just say which way you want it.

@devinder-dev
devinder-dev merged commit b68e3ba into main Oct 25, 2026
@devinder-dev
devinder-dev deleted the docs/stack-decisions branch October 25, 2026 14:05
@devinder-dev

Copy link
Copy Markdown
Owner Author

Does GET /v1/deliveries include the event type and endpoint name inline, or only event_id and endpoint_id?

Inline. Every row of GET /v1/deliveries includes event_type and endpoint_name (the server joins deliveries with events and endpoints in one query), so the delivery log needs one request per page, never one per row.

Each row has: id, event_id, event_type, endpoint_id, endpoint_name, status, attempts, last_status_code, next_attempt_at, created_at, and the response has next_cursor for the next page.

You're right that CONTEXT.md only lists the routes, not what they return. I'm going through your shapes in PR #7 against this, and once they match we can make them our shared contract (docs/api.md), so the dashboard and the API build against the same file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants