# bolt2525/bioskintech architecture

> Architecture diagram of the GitHub repository bolt2525/bioskintech, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/bolt2525/bioskintech
- Repository: https://github.com/bolt2525/bioskintech

## Overview

BIOSKIN is a multi-tenant clinic-management application for aesthetic and medical practices. Clinic staff authenticate, navigate clinic-scoped administration, manage appointments and patient clinical records, and use supporting finance, inventory, backup, AI, and messaging capabilities. The sampled code confirms routing, session authentication, calendar API requests, and clinical-record API requests; other major branches are included from the repository tree and source index, but their internal calls were not sampled.

Main entry points: [`src/App.tsx`](https://github.com/bolt2525/bioskintech/blob/main/src/App.tsx) (Application routes), [`src/utils/recordsFetch.ts`](https://github.com/bolt2525/bioskintech/blob/main/src/utils/recordsFetch.ts) (Authenticated API fetch), [`src/components/admin/ficha-clinica/components/ClinicalRecordManager.tsx`](https://github.com/bolt2525/bioskintech/blob/main/src/components/admin/ficha-clinica/components/ClinicalRecordManager.tsx) (Clinical records UI), [`lib/backup-service.js`](https://github.com/bolt2525/bioskintech/blob/main/lib/backup-service.js) (Backup service)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["Application access"]
  node_app_router["Application routes<br/>[App.tsx]"]
  node_auth["Session authentication<br/>[AuthContext.tsx]"]
  node_master_view["Master clinic view"]
  node_admin["Admin dashboard<br/>[AdminDashboard.tsx]"]
  node_booking["Public booking"]
end

subgraph group_clinical["Clinical care"]
  node_clinical_ui["Clinical records UI"]
  node_clinical_tabs["Clinical record sections"]
  node_records_api["Patient records API<br/>[records.js]"]
  node_consent["Consent signing<br/>[consent-signing.js]"]
end

subgraph group_operations["Clinic operations"]
  node_calendar["Calendar management"]
  node_calendar_api["Calendar API<br/>[calendar.js]"]
  node_finance["Finance management<br/>[AdminFinance.tsx]"]
  node_inventory["Inventory management<br/>[AdminInventory.tsx]"]
  node_ai["AI consultation"]
  node_whatsapp["WhatsApp CRM"]
  node_backup["Backup management<br/>[AdminBackup.tsx]"]
end

subgraph group_platform["Services and data"]
  node_clinical_db[("Clinical database")]
  node_backup_service["Backup service<br/>[backup-service.js]"]
  node_r2["Object storage<br/>[r2-service.js]"]
  node_records_fetch["Authenticated API fetch<br/>[recordsFetch.ts]"]
  node_services_catalog["Treatment catalog<br/>[services.ts]"]
end

node_staff(("Clinic staff"))
node_patients(("Patients"))

node_staff -->|"opens"| node_app_router
node_patients -->|"books visits"| node_booking
node_app_router -->|"provides session"| node_auth
node_app_router -->|"routes to"| node_admin
node_app_router -->|"routes to"| node_booking
node_app_router -->|"routes to"| node_clinical_ui
node_master_view -->|"sets clinic target"| node_records_fetch
node_clinical_ui -->|"requests records"| node_records_fetch
node_clinical_ui -->|"renders sections"| node_clinical_tabs
node_records_fetch -->|"fetches endpoint"| node_records_api
node_calendar -->|"requests events"| node_records_fetch
node_calendar -->|"posts calendar actions"| node_calendar_api
node_records_api -->|"uses database"| node_clinical_db
node_backup -.->|"manages backups"| node_backup_service
node_backup_service -->|"uses signing"| node_consent
node_backup_service -.->|"uses storage"| node_r2

click node_app_router "https://github.com/bolt2525/bioskintech/blob/main/src/App.tsx"
click node_auth "https://github.com/bolt2525/bioskintech/blob/main/src/context/AuthContext.tsx"
click node_master_view "https://github.com/bolt2525/bioskintech/blob/main/src/context/MasterViewContext.tsx"
click node_admin "https://github.com/bolt2525/bioskintech/blob/main/src/pages/AdminDashboard.tsx"
click node_booking "https://github.com/bolt2525/bioskintech/blob/main/src/pages/PublicBookingPage.tsx"
click node_calendar "https://github.com/bolt2525/bioskintech/blob/main/src/components/CalendarManager.tsx"
click node_calendar_api "https://github.com/bolt2525/bioskintech/blob/main/api/calendar.js"
click node_clinical_ui "https://github.com/bolt2525/bioskintech/blob/main/src/components/admin/ficha-clinica/components/ClinicalRecordManager.tsx"
click node_clinical_tabs "https://github.com/bolt2525/bioskintech/tree/main/src/components/admin/ficha-clinica/components/tabs"
click node_records_api "https://github.com/bolt2525/bioskintech/blob/main/api/records.js"
click node_clinical_db "https://github.com/bolt2525/bioskintech/blob/main/lib/neon-clinical-db.js"
click node_finance "https://github.com/bolt2525/bioskintech/blob/main/src/pages/AdminFinance.tsx"
click node_inventory "https://github.com/bolt2525/bioskintech/blob/main/src/pages/AdminInventory.tsx"
click node_ai "https://github.com/bolt2525/bioskintech/blob/main/src/pages/AIConsultationModule.tsx"
click node_whatsapp "https://github.com/bolt2525/bioskintech/blob/main/src/pages/AdminWhatsAppCRM.tsx"
click node_backup "https://github.com/bolt2525/bioskintech/blob/main/src/pages/AdminBackup.tsx"
click node_backup_service "https://github.com/bolt2525/bioskintech/blob/main/lib/backup-service.js"
click node_consent "https://github.com/bolt2525/bioskintech/blob/main/lib/consent-signing.js"
click node_r2 "https://github.com/bolt2525/bioskintech/blob/main/lib/r2-service.js"
click node_records_fetch "https://github.com/bolt2525/bioskintech/blob/main/src/utils/recordsFetch.ts"
click node_services_catalog "https://github.com/bolt2525/bioskintech/blob/main/src/data/services.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app_router,node_auth,node_master_view,node_admin,node_booking toneBlue
class node_clinical_ui,node_clinical_tabs,node_records_api,node_consent toneAmber
class node_calendar,node_calendar_api,node_finance,node_inventory,node_ai,node_whatsapp,node_backup toneMint
class node_clinical_db,node_backup_service,node_r2,node_records_fetch,node_services_catalog toneRose
class node_staff,node_patients toneIndigo
```

## Components

### Application access

- [Application routes](https://github.com/bolt2525/bioskintech/blob/main/src/App.tsx): `src/App.tsx`
- [Session authentication](https://github.com/bolt2525/bioskintech/blob/main/src/context/AuthContext.tsx): `src/context/AuthContext.tsx`
- [Master clinic view](https://github.com/bolt2525/bioskintech/blob/main/src/context/MasterViewContext.tsx): `src/context/MasterViewContext.tsx`
- [Admin dashboard](https://github.com/bolt2525/bioskintech/blob/main/src/pages/AdminDashboard.tsx): `src/pages/AdminDashboard.tsx`
- [Public booking](https://github.com/bolt2525/bioskintech/blob/main/src/pages/PublicBookingPage.tsx): `src/pages/PublicBookingPage.tsx`

### Clinical care

- [Clinical records UI](https://github.com/bolt2525/bioskintech/blob/main/src/components/admin/ficha-clinica/components/ClinicalRecordManager.tsx): `src/components/admin/ficha-clinica/components/ClinicalRecordManager.tsx`
- [Clinical record sections](https://github.com/bolt2525/bioskintech/tree/main/src/components/admin/ficha-clinica/components/tabs): `src/components/admin/ficha-clinica/components/tabs`
- [Patient records API](https://github.com/bolt2525/bioskintech/blob/main/api/records.js): `api/records.js`
- [Consent signing](https://github.com/bolt2525/bioskintech/blob/main/lib/consent-signing.js): `lib/consent-signing.js`

### Clinic operations

- [Calendar management](https://github.com/bolt2525/bioskintech/blob/main/src/components/CalendarManager.tsx): `src/components/CalendarManager.tsx`
- [Calendar API](https://github.com/bolt2525/bioskintech/blob/main/api/calendar.js): `api/calendar.js`
- [Finance management](https://github.com/bolt2525/bioskintech/blob/main/src/pages/AdminFinance.tsx): `src/pages/AdminFinance.tsx`
- [Inventory management](https://github.com/bolt2525/bioskintech/blob/main/src/pages/AdminInventory.tsx): `src/pages/AdminInventory.tsx`
- [AI consultation](https://github.com/bolt2525/bioskintech/blob/main/src/pages/AIConsultationModule.tsx): `src/pages/AIConsultationModule.tsx`
- [WhatsApp CRM](https://github.com/bolt2525/bioskintech/blob/main/src/pages/AdminWhatsAppCRM.tsx): `src/pages/AdminWhatsAppCRM.tsx`
- [Backup management](https://github.com/bolt2525/bioskintech/blob/main/src/pages/AdminBackup.tsx): `src/pages/AdminBackup.tsx`

### Services and data

- [Clinical database](https://github.com/bolt2525/bioskintech/blob/main/lib/neon-clinical-db.js): `lib/neon-clinical-db.js`
- [Backup service](https://github.com/bolt2525/bioskintech/blob/main/lib/backup-service.js): `lib/backup-service.js`
- [Object storage](https://github.com/bolt2525/bioskintech/blob/main/lib/r2-service.js): `lib/r2-service.js`
- [Authenticated API fetch](https://github.com/bolt2525/bioskintech/blob/main/src/utils/recordsFetch.ts): `src/utils/recordsFetch.ts`
- [Treatment catalog](https://github.com/bolt2525/bioskintech/blob/main/src/data/services.ts): `src/data/services.ts`

### Other components

- **Clinic staff**
- **Patients**

## Connections

- Clinic staff → Application routes: opens (evidence: `src/App.tsx`)
- Patients → Public booking: books visits
- Application routes → Session authentication: provides session (evidence: `src/App.tsx`)
- Application routes → Admin dashboard: routes to (evidence: `src/App.tsx`)
- Application routes → Public booking: routes to (evidence: `src/App.tsx`)
- Application routes → Clinical records UI: routes to (evidence: `src/App.tsx`)
- Master clinic view → Authenticated API fetch: sets clinic target (evidence: `src/context/MasterViewContext.tsx`)
- Clinical records UI → Authenticated API fetch: requests records (evidence: `src/components/admin/ficha-clinica/components/ClinicalRecordManager.tsx`)
- Clinical records UI → Clinical record sections: renders sections (evidence: `src/components/admin/ficha-clinica/components/ClinicalRecordManager.tsx`)
- Authenticated API fetch → Patient records API: fetches endpoint (evidence: `src/utils/recordsFetch.ts`)
- Calendar management → Authenticated API fetch: requests events (evidence: `src/components/CalendarManager.tsx`)
- Calendar management → Calendar API: posts calendar actions (evidence: `src/components/CalendarManager.tsx`)
- Patient records API → Clinical database: uses database
- Backup management → Backup service: manages backups
- Backup service → Consent signing: uses signing (evidence: `lib/backup-service.js`)
- Backup service → Object storage: uses storage
