Pets by Cherry

A full-stack pet ecommerce demo, real storefront, real cart and checkout, real admin CRUD, everything transactional simulated so no real money ever moves.

Astro · Preact · TypeScript · Cloudflare Workers · Cloudflare D1 Visit ↗ View code ↗
Ebenezer Afonja Claude

Ebenezer Afonja & Claude

Pets by Cherry

Pets by Cherry is a demo pet store, live at pets.ebenezerafonja.com. Browse dogs, cats, birds, and fish, pick a pet or a product, add it to your cart, and check out. It’s built to show off full-stack skill: a warm, photo-forward storefront on one side, and a genuinely working admin backend on the other, connected to the same database.

What it does

The homepage leads with a “meet the family” category grid, big rounded photo cards for each animal group, then a browsable catalog with real filtering, individual pet detail pages, and a small shop of pet products (food, treats, accessories). Cart and checkout are fully functional UX, add items, fill in a delivery form, confirm, get a receipt, all backed by real database writes. Everything that would normally involve real money is simulated: no payment processor is ever called, and no real charge occurs.

How it’s built, and how it connects to the backend

The storefront and the admin dashboard at pets.ebenezerafonja.com/admin run off the same Cloudflare D1 database. The admin isn’t a read-only mockup, it’s full CRUD: create a new category, add a pet type under it, list a new pet with its own photo and price, and it appears on the storefront immediately, no redeploy needed. Simulated checkouts land in an orders feed in the admin too, so the whole loop, browse, buy, manage, is real and connected end to end.

The app deploys as a single Cloudflare Worker with static assets, Astro’s server output rendering both the storefront and the password-gated admin from the same codebase. The admin session is a signed, time-limited token verified in middleware, checked against the shared password on every request to /admin or its API routes.

Technology Stack

  • Framework: Astro (server output) with Preact islands for cart, filters, and admin interactivity
  • Language: TypeScript
  • Styling: Tailwind CSS with a custom warm, organic design system
  • Database: Cloudflare D1
  • Hosting: Cloudflare Workers, custom domain pets.ebenezerafonja.com

Repository: github.com/47QVA/pets-by-cherry

View Next

Blue Sky Nigeria

Blue Sky Nigeria

A calm, mobile-first weather app for all 36 states of Nigeria and the FCT, leading with the rainfall and season story, wet season, dry season, the August break, and harmattan, backed by real monthly rainfall climatology.
Astro · Preact · TypeScript · Tailwind CSS · Cloudflare Pages