Skip to main content

Welcome to Vetty Docs

Vetty is a multi-tenant SaaS platform for veterinary clinic management with a paired pet-owner app and a public marketplace. The platform spans:

  • Clinic operations — patients, appointments, visits with SOAP narrative, prescriptions, lab results, attachments, billing, inventory, suppliers, purchase orders.
  • Owner experience — pets, vaccinations, health journal, documents, passport PDF, lost-pet collar tag, caregiver sharing, marketplace, refill / reorder requests, in-app payments via Razorpay.
  • Marketplace — public directory of clinics / pharmacies / breeders / groomers / trainers, geo-aware proximity search.
  • Notifications — driver-abstracted email today (Mailgun / SES / Mail / Log), SMS + push scaffolded for the next wave.
  • Admin — RBAC with permission catalog, role bundles, audit log; Filament panel for platform operators.

This site documents the codebase from three complementary perspectives.

How this documentation is organized

PerspectiveWhat it answersAudience
🏛️ ArchitecturalHow is the system put together at a high level? — components, tenancy, integration, deployment, securityArchitects, tech leads, reviewers
⚙️ TechnicalHow is it built in code? — schema, routes, controllers, components, services, mobile appsEngineers, contributors, code reviewers
🐾 FunctionalWhat does it do for users? — domain, workflows, featuresProduct managers, QA, support, new hires

Coming back to the codebase after a while? See the Release notes for the reverse-chronological "what actually changed" summary — the fastest way to catch up.

  • Backend — Laravel 12 + Filament admin panel (PHP 8.2) at backend/
  • Web SPA — React 18 + Tailwind CSS at ui/ (clinic console + owner web portal)
  • Pet-owner app — Flutter (Dart) at vetyy/ — the consumer-facing mobile app (pets, vaccinations, QR share, marketplace, orders)
  • Vet/clinic app — Flutter (Dart) at vetdoctor/ — clinician's pocket companion (today's schedule, QR scan → patient, visits, dispense)
  • API prefix/api/v1
  • Admin panel/systemadmin (Filament)

Feature areas

The functional sidebar groups features into modules:

  • Patients — clinical records (visits, prescriptions, lab results, attachments, vaccinations, health journal, documents, timeline)
  • Appointments — calendar, queue, reschedule, cancel
  • Billing & Payments — estimates, invoices, payments, Razorpay, refunds, receipt PDFs
  • Inventory — medicines, stock movements, suppliers, purchase orders
  • Reminders — driver abstraction for SMS / email / WhatsApp; templates, opt-outs, four transactional jobs
  • In-app notifications — tenant → owner + staff push-less channel with bell + inbox surfaces
  • Caregivers & Pet Sharing — share codes (clinic) and email-based caregiver invites (family)
  • Pet Safety — collar tag, lost-pet mode, pet passport PDF, vaccination certificates

And two platform-provider surfaces:

Audit + roadmap

A comprehensive audit lives at AUDIT.md in the repo root. It catalogs 156 findings across bugs, security gaps, UX issues, and feature enhancements across backend + both Flutter apps + admin web, with a four-wave implementation plan. New contributors should skim the audit before starting on any of the modules above — many of the rough edges are tracked there.

Running the docs locally

cd docs
npm install
npm start

Then open http://localhost:3000.

Building a production site

npm run build
npm run serve

The static site lands in docs/build/, ready for any static host.