The project
A farm selling its products directly needed more than a showcase: a real sales channel. Catalog, cart, customer accounts, orders, online payments, and above all an admin area designed for a non-technical client, who manages products, stock and orders on their own, day to day.
Stack and architecture
- Front end: Next.js (React), forms validated with Zod and React Hook Form.
- API: NestJS + Prisma on PostgreSQL. JWT authentication, systematic input validation, rate limiting, hardened headers (Helmet), structured logs (Pino), health endpoint for monitoring.
- Payments: Stripe, integrated end to end (from cart to order confirmation).
- Transactional emails (confirmations, notifications): relayed through the Hub, the platform’s event store.
- Anti-bot: Cloudflare Turnstile on public forms.
What took work
- End-to-end payment: order states must stay consistent whatever happens between the cart, Stripe and the database. It is the core of an e-commerce site’s reliability.
- Making the client self-sufficient: the admin interface has to be usable without training, otherwise every operation becomes a support ticket.
- The data schema: designed first, then migrated cleanly (versioned Prisma migrations).
Operations
Containerized and served by the platform’s infrastructure: reverse proxy, automatic TLS, backups, monitoring. Developed, deployed and maintained by the same person, in production since January 2026.