Skip to content

rmcclell/VetClinic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vet Clinic Management System

Logo

Deploy to GitHub Pages Live Demo

Vet Clinic Management System is a passion-driven side project built from over 18 years of professional software development experience. What started as a personal challenge is evolving into a robust, comprehensive management platform for veterinary clinics. Developing this as a side project allows me to prioritize quality and user experience. My goal is to create a powerful, self-hosted solution that will always be 100% free for anyone to deploy and manage themselves. While I may eventually offer a managed hosting service for those who prefer a turnkey experience, the core software will remain free and open to the community. Note: This project is currently a work in progress. It will take time to reach the full level of maturity I envision, but development is steady and ongoing.

This is a web-based application to manage a mobile veterinary clinic, built with Angular, NestJS, and Prisma.

Prerequisites

  • Node.js: Ensure you have Node.js installed.
  • NX: This project uses Nx for monorepo management.

Getting Started

1. Install Dependencies

npm install

2. Database Setup

The project uses SQLite for the local database.

# Generate Prisma Client
npm run db:generate

# Run migrations (initializes the dev.db file)
npm run db:migrate

3. Running the Application

You can start both the backend and frontend simultaneously, or individually.

Simultaneous Start

npm start

Individual Start

# Start the Backend (API) - Default: http://localhost:3000
npm run start:api

# Start the Frontend (Web) - Default: http://localhost:4200
npm run start:web

Screenshots

View Light Mode Dark Mode
Dashboard Light Dark
Patient Directory Light Dark
Clinic Settings Light Dark
Tasks & Reminders Light Dark
Messages Light Dark
Invoices Light Dark
Appointments Light Dark
Clients / Clients Light Dark
User Settings Light Dark

Patient Details

The patient details view features a route-based tab navigation system for comprehensive records.

Tab Light Mode Dark Mode
Medical History Light Dark
Vaccinations Light Dark
Prescriptions Light Dark
Appointments Light Dark
Boarding Light Dark
Tasks Light Dark
Estimates Light Dark
Forms Light Dark
Invoices Light Dark
Labs Light Dark
Reminders Light Dark

Patient Management Dialogs (Add Record)

Standardized modals for adding records across all patient sub-sections.

Section Light Mode Dark Mode
Medical History Light Dark
Vaccinations Light Dark
Prescriptions Light Dark
Appointments Light Dark
Boarding Light Dark
Tasks Light Dark
Estimates Light Dark
Forms Light Dark
Invoices Light Dark
Labs Light Dark
Reminders Light Dark

Patient Management Dialogs (Print / Report)

Standardized modals for generating reports and printing.

Section Light Mode Dark Mode
Medical History Light Dark
Vaccinations Light Dark
Prescriptions Light Dark
Appointments Light Dark
Boarding Light Dark
Tasks Light Dark
Estimates Light Dark
Forms Light Dark
Invoices Light Dark
Labs Light Dark
Reminders Light Dark

Client Details

The client details view provides a comprehensive overview of client records with tabbed navigation.

Tab Light Mode Dark Mode
Client Info Light Dark
Patients Light Dark
Financial Light Dark
Appointments Light Dark
Boarding Light Dark
Tasks Light Dark
Reminders Light Dark
Forms Light Dark
Messaging Light Dark

Client Management Dialogs (Add Record)

Section Light Mode Dark Mode
Patients Light Dark
Financial Light Dark
Appointments Light Dark
Boarding Light Dark
Tasks Light Dark
Reminders Light Dark
Forms Light Dark
Messaging Light Dark

Tools & Documentation

Documentation Maintenance

Generating Screenshots

The screenshots in this README.md and the docs/screenshots directory are automatically generated to ensure consistency across Light and Dark modes.

To refresh all screenshots:

  1. Ensure the application is running (npm start).
  2. Run the generation script:
    node docs/maintenance/generate_screenshots.js

This script uses Playwright to:

  • Navigate to all key application routes.
  • Capture screenshots in both Light and Dark modes.
  • Save the results directly to docs/screenshots/.

Project Structure

  • vet-clinic: Angular Frontend with Material Design.
  • api: NestJS Backend.
  • shared-types: Shared TypeScript interfaces and DTOs.
  • prisma: Database schema and migrations.

Technical Details

  • Frontend: Angular + Angular Material. Responsive design for mobile, tablet, and desktop.
  • Backend: NestJS for a structured, scalable API.
  • Database: Prisma ORM with SQLite (Relational integrity without overhead).

About

Open-source management platform for mobile veterinary clinics. Streamline your practice with comprehensive pet records, automated scheduling, client messaging, and professional invoicing—all in a high-performance, dual-theme web application.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors