2026Live
Seans
- React
- Express
- PostgreSQL
- Prisma
- Stripe
- Tailwind CSS
- Vercel
Overview
A booking site for a small cinema: a live seat map, Stripe payments, signed QR tickets by e-mail, a phone-camera ticket check at the door, and film, showtime and sales management.
01 · Problem
On booking sites two people can grab the same seat at the same moment, a payment confirmed by the browser can be faked, and paper or screenshot tickets can be copied.
02 · Solution
Seats are held for 10 minutes, and the database itself guarantees that a seat belongs to one booking only. Only Stripe's signed webhook confirms a payment; each seat's QR ticket is signed with HMAC and can be scanned only once at the door. The programme tops itself up two weeks ahead every night.
03 · Outcome
An end-to-end system from sign-up to the door, verified on the live site with a test payment. It has 73 tests on a separate test database, and an account takeover flaw found in the pre-launch security review was closed with a test.