Skip to content

About

Open-source operating system for animal health

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

5,418 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YC logo

Open-Source Operating System for Animal Health

A free, fully customizable Practice Information Management System
and the open platform that grows around it.

Built for the clinics that carry animal health, the families who depend on them,
and the developers extending both.

Website Contributing Github License Figma Discord Ask DeepWiki


YosemiteCrew.mp4

🔍 Code Quality (SonarCloud)

SonarQube Cloud

Metric Backend Platform (Frontend) Mobile App Desktop
Quality Gate Quality Gate Status Quality Gate Status Quality Gate Status Quality Gate Status
Coverage Coverage Coverage Coverage Coverage
Bugs Bugs Bugs Bugs Bugs
Code Smells Code Smells Code Smells Code Smells Code Smells
Reliability Reliability Rating Reliability Rating Reliability Rating Reliability Rating

📖 Contents


📝 Overview

Yosemite Crew is an open-source operating system for the animal health industry. At its core is a free, fully customizable Practice Information Management System (PIMS) that unifies pet care operations, bringing together pet owners, pet businesses, and developers into one ecosystem.

Most veterinary software asks a clinic to bend around the vendor: rigid subscriptions, closed data, and a roadmap someone else owns. Yosemite Crew inverts that. The clinical record is yours, the schema is open, the integration surface speaks FHIR R4, and the entire platform is yours to fork, extend, or run yourself.

It is one monorepo spanning four products: a web PIMS for clinics, a mobile app for pet parents, a desktop shell, and a developer platform.


👥 Who It Is For

🐾 Pet Owners

Ultimate convenience. A mobile app to schedule appointments, hold virtual consultations, manage health records, and reach a library of care resources.

Enhanced accessibility. Whether in remote locations or facing mobility challenges, quality veterinary care stays reachable anytime, anywhere.

🏥 Clinics & Providers

Streamlined efficiency. Scheduling and communication that cut administrative load instead of adding to it.

Customization & integration. Open source means no rigid subscription lock-in, and a system you can shape to how your practice actually works.

Security & compliance. Comprehensive data management, reporting, and adherence to regulatory standards.

Scalability & support. Built to grow with your practice, backed by regular updates and a community of contributors.

💻 Developers

Empowering innovation. A developer portal at the heart of an ecosystem that mirrors the versatility of the WordPress plugin model.

Flexible environment. Public APIs, documentation, and ready-to-use templates for building and managing plugins that extend the core.

Community-driven growth. A collaborative environment where contributors keep expanding what veterinary care software can do.


🏛 Architecture

Four clients, one API, one source of truth. Every product in the repo speaks to the same Express service and the same Postgres schema.

%%{init: {"theme":"base","themeVariables":{"fontFamily":"ui-sans-serif, -apple-system, Segoe UI, Helvetica, Arial, sans-serif","primaryColor":"#ffffff","primaryTextColor":"#1d1c1b","primaryBorderColor":"#bfbfbe","lineColor":"#a09f9f","clusterBkg":"#f7f7f7","clusterBorder":"#eaeaea","fontSize":"14px"}}}%%
flowchart LR
    subgraph clients ["Clients"]
        WEB["Web PIMS<br/><sub>Next.js 15 · React 19</sub>"]
        MOB["Mobile App<br/><sub>React Native 0.81</sub>"]
        DESK["Desktop Shell<br/><sub>Electron</sub>"]
        EXT["Your Integration<br/><sub>FHIR R4 · public APIs</sub>"]
    end

    subgraph platform ["Platform"]
        API["Express API<br/><sub>REST + FHIR routers</sub>"]
        RT["Socket.IO<br/><sub>realtime</sub>"]
        JOBS["BullMQ Workers<br/><sub>reminders · labs · schedules</sub>"]
    end

    subgraph data ["Data & Services"]
        PG[("Supabase Postgres<br/><sub>Prisma · schema per tenant</sub>")]
        REDIS[("Redis<br/><sub>queue backing store</sub>")]
        AUTH["SuperTokens<br/><sub>session boundary</sub>"]
        AWS["AWS<br/><sub>S3 · SES · Pinpoint</sub>"]
        LABS["Lab & Partner<br/><sub>IDEXX · Merck</sub>"]
    end

    WEB --> API
    MOB --> API
    DESK --> API
    EXT --> API

    API <--> RT
    API --> JOBS
    API --> PG
    API --> AUTH
    API --> AWS
    JOBS --> REDIS
    JOBS --> PG
    JOBS --> LABS

    classDef accent fill:#f2f8ff,stroke:#247aed,stroke-width:1.5px,color:#1d1c1b
    classDef store fill:#f7f7f7,stroke:#a09f9f,color:#1d1c1b
    class API,EXT accent
    class PG,REDIS store
Loading

Postgres is the source of truth. Prisma Migrate owns the schema, and tenant data is isolated by Postgres schema rather than by a filter column, so one clinic's records cannot leak into another's through a forgotten WHERE. See ADR 0001.

FHIR R4 is a first-class surface, not an export button. Clinical artifacts, tasks, templates, and rendered documents have FHIR-shaped routes, so an integrator can talk to Yosemite Crew in a vocabulary the wider health ecosystem already speaks.


🗂 Inside the Monorepo

A pnpm + Turborepo workspace. Apps ship; packages are the shared spine underneath them.

Apps

App What it is
apps/frontend The web PIMS. Next.js 15, React 19, Zustand, Storybook, Playwright end-to-end and accessibility suites.
apps/backend The API. Express 4 on TypeScript, Prisma, Socket.IO realtime, BullMQ workers, Stripe.
apps/mobileAppYC The pet parent app. React Native 0.81, Redux, i18next localization, Detox end-to-end.
apps/desktop The desktop shell. Electron, packaged by electron-builder, notarized, with auto-update.
apps/dev-docs The developer documentation site. Docusaurus.

Packages

Package What it holds
@yosemite-crew/database The Prisma schema and migrations. The schema source of truth.
@yosemite-crew/auth Provider-independent session boundary built on SuperTokens.
@yosemite-crew/types Shared domain and form types across web, mobile, and API.
@yosemite-crew/fhir FHIR R4 helpers.
@yosemite-crew/fhirtypes FHIR R4 resource type definitions.
@yosemite-crew/design-tokens Semantic design tokens shared by web and mobile. Intent, not platform detail.
@yosemite-crew/lib Cross-workspace utilities.

💻 Installation

Prerequisites

  • Git
  • Node.js 20 (see .nvmrc)
  • pnpm 8

Steps

  • Create a fork from Yosemite-Crew repository as it is described in GitHub docs. You can skip this step if you want to just run the project and not contribute.

  • Clone your forked repository to your local machine using git clone. Clone dev branch if want to use the bleeding edge version.

    git clone https://github.com/yourusername/Yosemite-Crew.git
    git clone -b dev https://github.com/yourusername/Yosemite-Crew.git
    
    cd Yosemite-Crew
  • Install the project dependencies.

    pnpm install
  • Git hooks are installed automatically during pnpm install (Husky + commitlint + lint-staged + secret scanning).

  • Configure environment variables for the API and web app. Each ships an example file to copy and fill in:

    cp apps/backend/.env.example apps/backend/.env
    cp apps/frontend/.env.example apps/frontend/.env

    The backend needs a reachable PostgreSQL database on boot and Redis for the background job queues. apps/backend/README.md documents the startup requirements.

  • Run the website and api.

    pnpm run dev --filter frontend                   -- Run the web app
    pnpm run dev --filter backend                    -- Run the backend API
    pnpm run dev                                     -- To run website & api
  • Run the Yosemite Crew mobile app. The mobile app does not load .env files. It needs its own configuration (a variables.local.ts and native Firebase and credential files copied from apps/mobileAppYC/config-templates/). Follow the setup in apps/mobileAppYC/README.md before running.

    // In apps/mobileAppYC directory
    
    pnpm run start                                  -- Start the metro server for mobile development
    pnpm run android                                -- Run the app on Android
    pnpm run ios                                    -- Run the app on iOS
  • Before opening a pull request, run the same gates CI will run.

    pnpm run verify                                 -- lint + type-check + test + build

🚀 Our Tech Stack


✅ Engineering Quality

Open source is a promise about how the code is kept, not only about who can read it. Every change entering dev passes the same gates.

Gate What it enforces
Static analysis SonarCloud quality gate per app (see the table above), plus CodeQL scanning.
Types & lint Repo-wide type-check and lint, enforced again on pre-push.
Tests Unit and component suites per workspace, with coverage held on touched files.
Accessibility A dedicated accessibility suite and Playwright a11y run on the web app.
End-to-end Playwright on the web app, enforced in CI. A Detox harness is available for the mobile app and runs locally.
Visual review Storybook and Chromatic for the component library.
Supply chain Dependency review, secret scanning, and staged-secret checks on every commit.
Governance Conventional commits and PR title validation.

📚 Documentation

Where What you will find
Developer docs The Docusaurus site for platform and API documentation.
Engineering wiki The structured engineering knowledge base.
Architecture guides PIMS architecture, realtime, notifications, analytics.
Architecture decisions The record of why the platform is shaped as it is.
DeepWiki An AI-generated tour of the codebase.

🔑 Dev Environment Access

Request current dev or staging access from the maintainers through a secure channel. Do not publish shared credentials in repository documentation.


💬 Join Our Growing Community

  • Star our repo and show your support!
  • Tik-tok and Instagram for memes
  • Follow us on LinkedIn to get all the latest news
  • Join our Discord to chat with fellow contributors and users
  • Contribute - we love contributions! Whether it's code, docs, or ideas, your help is always welcome!

📜 License

Yosemite Crew is released under the GNU Affero General Public License v3.0, with a Yosemite Crew licensing exception that permits combining the program with works under CC-BY-3.0 and CC-BY-4.0.

The YOSEMITE CREW name, logo, and branding are not covered by the open source license. Commercial use of the branding requires a separate commercial license. See License.txt for the full terms.


⭐ Star History

Star History Chart

Thanks to the community!

✨ Contributors

Thanks to everyone who has contributed to Yosemite Crew!

Contributors

⭐ Stargazers  ·  🍴 Forkers

See the growth over time above. Browse everyone who starred or forked the project:

About

Open-source operating system for animal health

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages