BookNest
Fullstack online bookstore with a storefront, an admin panel, and a complete Stripe payment lifecycle in test mode, covered by automated tests and a CI/CD pipeline.

About the project
BookNest is a production-like online bookstore built on Next.js, with a storefront, an admin panel, and user/admin roles via Auth.js. It is built around a complete Stripe payment lifecycle in test mode: Checkout, payment retry, admin refunds, and signature-verified idempotent webhooks. Customers can see their orders and retry a failed payment, while admins manage books and orders and issue refunds. Data lives in Supabase PostgreSQL and Storage, and the light/dark UI is built on design tokens with a reusable component kit. Claude Code was part of the development workflow for scaffolding and refactoring.
The problem
BookNest was built as a personal project to implement a production-like payment flow end to end, not just the happy path: failed payments that need a retry, admin refunds, and webhook events that can arrive more than once or race with the checkout flow.
The solution
Stripe webhooks are signature-verified and idempotent, with race-condition protection, alongside Checkout, payment retry, and admin refunds. 24 unit and component tests (Vitest, React Testing Library) run in a GitHub Actions pipeline, and Vercel Deployment Checks block production releases until the tests pass.
Tech stack
Screenshots
Feedback
Tried this project or read the case study? I'd love to hear your thoughts.