Skip to content

Vitara — Technical Documentation

Welcome to the Vitara developer wiki. This covers every feature of the Vitara health management platform in detail, including backend (.NET 10 API) and frontend (Angular 21 PWA) implementation for each feature.


Architecture Quick Reference

Layer Technology
Frontend Angular 21, Angular Material, Progressive Web App (PWA)
Backend ASP.NET Core 10, Entity Framework Core, PostgreSQL
Authentication JWT Bearer, WebAuthn/FIDO2 (Fido2NetLib), TOTP MFA
Push Notifications Web Push (VAPID), Service Worker
Offline Support IndexedDB offline queue, Service Worker caching
Export ClosedXML (.xlsx), Google Drive API v3
Background Jobs .NET Hosted Services (IHostedService)

User Roles

Role ID Role Access Level
1 SuperAdmin Full system access
2 Administrator Full access except system-level config
3 Carer Clinical entry for linked Care Recipients
4 SupportWorker Clinical entry for linked Care Recipients
5 CareRecipient Own data only
6 HealthCareProvider Read access for linked Care Recipients

Feature Documentation

# Feature Summary
1 Authentication Login, signup, MFA, password reset, JWT token lifecycle
2 Biometric Authentication WebAuthn/FIDO2 passwordless login and credential management
3 BGL Assessment Guided blood glucose assessment state machine with hypo/hyper protocols
4 Blood Pressure Monitoring Multi-reading BP session workflow with AHA classification
5 Incidents — Diabetes Diabetes incident recording, auto-classification, and push alerts
6 Incidents — Blood Pressure BP incident recording with HBP guard, classification, and push alerts
7 Meal Entry Meal, carbohydrate, and bolus tracking with history and export
8 Dashboard Role-conditional navigation cards and time-of-day greeting
9 Profile All profile sub-pages: name/password, MFA, biometric, devices, conditions, reports, notifications
10 Care Recipients Carer–Care Recipient linking workflow and admin delink management
11 Notifications In-app notification bell inbox, Web Push pipeline, and per-user preferences
12 Supplies Supply tracking, quantity projection algorithm, catalog management, and weekly email cron
13 Management Centralised admin hub covering all 11 management sub-pages
14 Export & Reports Excel report generation (ClosedXML) and optional Google Drive upload
15 Offline Queue IndexedDB offline queue with 24-hour TTL and auto-sync on reconnect
16 Push Notifications VAPID Web Push pipeline, background timer reminders, and service worker handler
17 Classification Management BGL, ketone, blood pressure, and pulse rate classification range management
18 Cycles & Terms Care cycle management and JWT term binding
19 Feature & Bug Reports User-submitted feature requests and bug reports with admin review workflow
20 App Configuration Runtime key-value configuration store with secret masking and bulk update
21 Google Drive Integration OAuth 2.0 setup, token storage, upload flow, and admin configuration guide
22 Business Overview Investor-facing platform summary: problem, solution, market, revenue model, and traction

Architecture Quick Reference

Layer Technology
Frontend Angular 21, Angular Material, Progressive Web App (PWA)
Backend ASP.NET Core 10, Entity Framework Core, PostgreSQL
Authentication JWT Bearer, WebAuthn/FIDO2 (Fido2NetLib), TOTP MFA
Push Notifications Web Push (VAPID), Service Worker
Offline Support IndexedDB offline queue, Service Worker caching
Export ClosedXML (.xlsx), Google Drive API v3
Background Jobs .NET Hosted Services (IHostedService)

User Roles

Role ID Role Access Level
1 SuperAdmin Full system access
2 Administrator Full access except system-level config
3 Carer Clinical entry for linked Care Recipients
4 SupportWorker Clinical entry for linked Care Recipients
5 CareRecipient Own data only
6 HealthCareProvider Read access for linked Care Recipients

Feature Documentation

# Page Feature Summary
1 [[Authentication]] Login, signup, MFA, password reset, JWT token lifecycle
2 [[Biometric-Authentication]] WebAuthn/FIDO2 passwordless login and credential management
3 [[BGL-Assessment]] Guided blood glucose assessment state machine with hypo/hyper protocols
4 [[Blood-Pressure-Monitoring]] Multi-reading BP session workflow with AHA classification
5 [[Incidents-Diabetes]] Diabetes incident recording, auto-classification, and push alerts
6 [[Incidents-Blood-Pressure]] BP incident recording with HBP guard, classification, and push alerts
7 [[Meal-Entry]] Meal, carbohydrate, and bolus tracking with history and export
8 [[Dashboard]] Role-conditional navigation cards and time-of-day greeting
9 [[Profile]] All profile sub-pages: name/password, MFA, biometric, devices, conditions, reports, notifications
10 [[Care-Recipients]] Carer–Care Recipient linking workflow and admin delink management
11 [[Notifications]] In-app notification bell inbox, Web Push pipeline, and per-user preferences
12 [[Supplies]] Supply tracking, quantity projection algorithm, catalog management, and weekly email cron
13 [[Management]] Centralised admin hub covering all 11 management sub-pages
14 [[Export-Reports]] Excel report generation (ClosedXML) and optional Google Drive upload
15 [[Offline-Queue]] IndexedDB offline queue with 24-hour TTL and auto-sync on reconnect
16 [[Push-Notifications]] VAPID Web Push pipeline, background timer reminders, and service worker handler
17 [[Classification-Management]] BGL, ketone, blood pressure, and pulse rate classification range management
18 [[Cycles-Terms]] Care cycle management and JWT term binding
19 [[Feature-Bug-Reports]] User-submitted feature requests and bug reports with admin review workflow
20 [[App-Configuration]] Runtime key-value configuration store with secret masking and bulk update

Setting Up the Wiki

These docs live in docs/technical documents/ in the main repository.

To publish / update the GitHub Wiki:

# Clone the wiki repo (separate from the main repo)
git clone https://github.com/CarolineChirenje/vitara.wiki.git
cd vitara.wiki


# Copy all docs — rename files to match wiki page names (no spaces, use hyphens)
# Home.md        ← this file (wiki landing page)
# Authentication.md
# Biometric-Authentication.md
# BGL-Assessment.md
# ... etc

# Stage, commit, push
git add .
git commit -m "Update technical docs"
git push

Tip: GitHub Wiki page names use the filename without .md. Spaces in titles become hyphens in the URL. The [[Page-Name]] double-bracket syntax in this file creates automatic wiki links.