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
| Perspective | What it answers | Audience |
|---|---|---|
| 🏛️ Architectural | How is the system put together at a high level? — components, tenancy, integration, deployment, security | Architects, tech leads, reviewers |
| ⚙️ Technical | How is it built in code? — schema, routes, controllers, components, services, mobile apps | Engineers, contributors, code reviewers |
| 🐾 Functional | What does it do for users? — domain, workflows, features | Product 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.
Quick links
- 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:
- Operator Console — the SaaS-provider admin panel (analytics, cross-tenant user lookup, tenant lifecycle actions, impersonation)
- Provider Marketplace — public directory + geo proximity search
- Order Requests (Commerce) — refill / reorder / custom orders to pharmacy / retail tenants
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.