ShopFront
2023
Full-stack engineer
Web · Client project
The client needed a real storefront with checkout, not another page-builder template — and an admin view to manage products and orders without touching the database.
Built the storefront, the Stripe checkout flow, and the admin panel for product and order management.
architecture
Next.js frontend for both the storefront and the admin panel, sharing a component layer but gated by role.
frontend
Cart state managed client-side with server-verified totals at checkout, so nothing about pricing is trusted from the browser.
backend
Express API with PostgreSQL/Prisma modeling products, orders, and inventory; Stripe webhooks confirm payment before an order is marked paid.
cloud
Deployed with Docker so the same image runs identically in staging and production.
Trusting the client for pricing is the fastest way to ship an incorrect order. Checkout recalculates totals server-side from the current product records and only then creates the Stripe session — the cart UI is just a preview of what the server will actually charge.
Shipped a working storefront with real payment processing and an admin panel the client could use for day-to-day catalog changes without engineering support.