Repository navigation
docs: record stack decisions (Fastify, dashboard) and update team context - #6
Conversation
…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
left a comment
There was a problem hiding this comment.
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.
Inline. Every row of Each row has: 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 ( |
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.