How sreejasadhu/keystoneapp works
KeyStone is a care-coordination platform connecting patients, therapists, and caregivers, with administrative oversight. Its user workflow spans account access and verification, therapist discovery and booking, session management and payment, then follow-ups, reflections, check-ins, and progress tracking. Caregiver links and messaging support continued care; analytics and verification tools support clinicians and administrators. The server mounts these capabilities as API routes over Prisma-backed data, with calendar and payment integrations. Source excerpts confirm only selected client-to-API and service calls, so uncertain wiring is omitted.
Main entry points: index.ts HTTP application · prisma.ts Application database · sessions.routes.ts Sessions · main.tsx Client entry
Components 26
Web application
- Client entry
client/src/main.tsx - App shell
client/src/App.tsx - Page router
client/src/router/index.tsx - Session detail
client/src/pages/SessionDetail.tsx - Care dashboards
client/src/pages/Dashboard.tsx - Booking flow
client/src/pages/BookSession.tsx - Auth state
client/src/store/useAuthStore.ts - API client
client/src/lib/api.ts
API and domain
- HTTP application
server/src/index.ts - Authentication
server/src/routes/auth.routes.ts - Verification
server/src/routes/verification.routes.ts - Sessions
server/src/routes/sessions.routes.ts - Caregiver access
server/src/routes/caregiver.routes.ts - Care activities
server/src/routes - Admin oversight
server/src/routes - Session generator
server/src/jobs/sessionGenerator.ts - Streak tracking
server/src/services/streakService.ts
Platform data
- Application database
server/src/lib/prisma.ts
External services
- Google Calendar
server/src/services/googleCalendar.ts - Razorpay payments
server/src/services/razorpayService.ts
Other components
- Patient
- Therapist
- Caregiver
- Administrator
- Google Calendar
- Razorpay
Connections 27
- Patient → Client entry: uses
- Therapist → Client entry: uses
- Caregiver → Client entry: uses
- Administrator → Client entry: uses
- Client entry → App shell: renders
- App shell → Page router: routes
- Session detail → API client: requests session data
- API client → HTTP application: sends API requests
- HTTP application → Authentication: mounts auth
- HTTP application → Sessions: mounts sessions
- HTTP application → Verification: mounts verification
- HTTP application → Caregiver access: mounts caregiver
- HTTP application → Care activities: mounts care routes
- HTTP application → Admin oversight: mounts admin routes
- HTTP application → Session generator: starts recurring job
- Authentication → Application database: reads and writes
- Verification → Application database: reads and writes
- Sessions → Application database: reads and writes
- Caregiver access → Application database: reads and writes
- Admin oversight → Application database: queries metrics
- Session generator → Application database: creates sessions
- Sessions → Google Calendar: syncs session events
- Sessions → Razorpay payments: requests refunds
- Sessions → Streak tracking: updates streaks
- Google Calendar → Google Calendar: syncs events
- Razorpay payments → Razorpay: processes payments
- Streak tracking → Application database: reads and updates