Skip to content

System Context

C4 Level 1 - System Context

This page describes PetFolio at the highest level: the system, the people who use it, and the external systems it depends on. For implementation detail, see Containers.

What is PetFolio?

PetFolio is a platform that connects pet owners and pet professionals around a shared, secure pet data record. It is made up of two products:

  • PetFolio Personal: The pet owner-facing app
  • PetFolio Business: The pet professional-facing app

Actors

Actor Description
Pet Owner Creates and manages pet profiles, controls sharing with professionals
Pet Professional Views shared pet data to deliver better care (vet, groomer, trainer, etc.)
Pet Specialist Manages records for multiple animals (breeder, rescue centre)

External Systems

System Purpose
Google (OAuth) User authentication - PetFolio uses OAuth-only sign-in
Microsoft (OAuth, planned) Alternative OAuth provider
Facebook (OAuth, planned) Alternative OAuth provider

System Diagram (Level 1)

graph TD
    PO["<b>Pet Owner</b><br/><i>Manages their pets' portfolios</i>"]
    PP["<b>Pet Professional</b><br/><i>Manages client animals and records</i>"]
    PS["<b>Pet Specialist</b><br/><i>Manages multiple animals and records</i>"]

    PF["<b>PetFolio</b><br/><i>Connects pet owners and professionals around a shared, secure pet data record</i>"]

    OAUTH["<b>OAuth Providers</b><br/><i>Google, Microsoft, Facebook authentication (Planned)</i>"]

    PO -->|"Manages pet profiles"| PF
    PP -->|"Views shared pet data"| PF
    PS -->|"Manages multiple animals"| PF
    PF -.->|"OAuth 2.0"| OAUTH

    classDef c4-person fill:#08427b26,stroke:#08427B,stroke-width:2px
    classDef c4-system fill:#1168bd26,stroke:#1168BD,stroke-width:2px
    classDef c4-system-ext fill:#9999992e,stroke:#999999,stroke-width:2px

    class PO,PP,PS c4-person
    class PF c4-system
    class OAUTH c4-system-ext