Skip to content
Carlos Guzman

Expressus Café

An online store with Stripe checkout and shipping quotes, live and taking orders.

The expressus.shop home page, with buttons to shop for coffee and see the products.
Fig. 1 — The Expressus Café storefront at expressus.shop.

Problem

An online store has to get the hard parts right: totals that match what is charged, stock that can't be oversold, and shipping costs before checkout.

My role

I'm the main developer of Expressus Café, a DeepSpace project.

Approach

  • Storefront built with Next.js.
  • Checkout integrity. Totals and stock changes run inside transactional database functions, so an order either completes in full or not at all.
  • Guest carts. You can shop without an account; the cart lives on an HTTP-only cookie.
  • Payments and shipping. Stripe Checkout with signed webhooks, and shipping quotes from Skydropx.
Expressus Café checkoutA guest's cart lives on an HTTP-only cookie. Skydropx quotes the shipping, a transactional database function calculates the checkout totals, and the customer pays through Stripe Checkout. A signed webhook then leads to the stock change, also in a transactional database function.Guest cartHTTP-only cookieShipping quoteSkydropxCheckout totalstransactional database functionStripe CheckoutSigned webhookStock changetransactional database function
Fig. 2 — Checkout: totals and stock changes run in transactional database functions.

Outcome

Live at expressus.shop and taking orders.

Code walkthrough available on request.