Layered Fastify service with route → service → data separation
Routes in src/routes delegate to service modules in src/services, which access the database through the Drizzle schema in src/db/schema.ts. This is a detected structural pattern, not a claim about runtime behavior.
Evidence sources
- src/routes/checkout.ts
- src/services/billing/stripe.ts
- src/db/schema.ts