Veterinary clinic · Booking + commerce

A vet clinic’s whole business, with payments that can’t go wrong

Pet owners register their animals, book appointments and shop for supplies in one place. Staff run appointments, clients, products and orders from one admin.

Role
Fullstack Developer
For
Pet owners and clinic staff
Year
2026
HAMA Vet storefront

The problem

Bookings, pet records and product sales lived in different places, and taking payment online meant trusting that a customer couldn’t pay twice, pay too little, or be charged for an order that was already paid.

What it does

  • Client portal: Sign-up with email verification, pet profiles, appointment booking, order history and receipts.
  • Store: Services catalogue, products with stock, cart, checkout and discounts.
  • Admin: Dashboard plus appointments, clients, pets, products, orders and services, behind rate-limited admin routes.
  • Discoverability: Generated sitemap and SEO checks covered by tests.

The decision worth explaining

One payment path, locked and checked, whether Paystack calls back or the customer returns

  1. 1 · Verify

    The webhook checks Paystack’s HMAC-SHA512 signature before reading anything.

  2. 2 · Lock

    The order row is locked inside a database transaction, so two callbacks can’t race.

  3. 3 · Check

    Amounts that differ by more than 1 kobo are rejected; already-paid orders are skipped.

  4. 4 · Fulfil once

    One checkout service marks it paid, reduces stock, records payment and sends receipts to customer and admin.

How it’s built

Laravel 12 with Inertia 2 and Vue 3 · Breeze auth with email verification · Sanctum · international phone validation · Paystack · Pest feature tests for SEO, receipts, validation and maintenance routes.

Have a project or a role in mind?