Context
Final project for the Programming degree at UTN San Francisco. I chose to work with a real client to sharpen my requirements-gathering and direct client skills: I gathered needs with the owners of a local veterinary clinic and built the custom system they actually ended up using.
I defended it with a 10 out of 10, but it didn't end up in a drawer after that: the clinic still uses it every day to run the whole operation.
What I did
- Patient and owner records, with diagnoses, treatments and prescriptions for each visit.
- Appointment scheduling with an interactive calendar that notifies owners on any booking, change or cancellation.
- Billing and quotes: discounted quotes that, once confirmed, deduct stock and generate the invoice.
- Inventory with automatic low-stock alerts, plus reports exportable to Excel and PDF.
- Role-based permissions, with multiple users and an individual calendar per professional, and automatic reminders by email and WhatsApp.
- NestJS backend with PostgreSQL, Vue 3 frontend. Deployed with Docker on its own cloud server, with Cloudflare for DNS and perimeter security, and GitHub Actions running CI/CD.
Challenges and achievements
- From one clinic to a product. I helped turn the system into a multi-tenant architecture so it could be sold to other clinics: a tenant_id on every record and a migration of the data the clinic already had.
Stack
NestJSPostgreSQLVue 3DockerCloudflareGitHub Actions
In production since delivery, used daily by the clinic. Now also being commercialized.