How tarrus1/neemah-medical-centre works
Neemah is a medical-centre platform combining doctor discovery and appointments with staff-managed patient visits, clinical departments, billing, and administration. The user-facing journey starts with sign-in or onboarding, then supports finding a doctor and booking care; in-clinic staff handle reception, triage, consultation, lab work, pharmacy, and cashiering. Server actions and Prisma provide the application’s data boundary. The README is only a brief product description, and several routes and actions were not sampled, so uncertain internal wiring is omitted.
Main entry points: prisma.js Prisma data access · appointments.js Appointment actions · patient-visits.js Visit workflow actions · page.jsx Admin dashboard
Components 24
Entry and identity
- Sign-in and sign-up
app/(auth)/sign-in/[[...sign-in]]/page.jsx - Role onboarding
app/(main)/onboarding/page.jsx - Home and pricing
app/page.js
Appointments and care
- Doctor directory
app/(main)/doctors/page.jsx - Doctor profile and slots
app/(main)/doctors/[specialty]/[id]/page.jsx - Appointment booking
app/(main)/doctors/[specialty]/[id]/_components/appointment-form.jsx - Appointment actions
actions/appointments.js - Patient visits
actions/patient.js - Doctor workspace
app/(main)/doctor/page.jsx - Video consultation
app/(main)/video-call/page.jsx
Clinic operations
- Staff department pages
app/(main)/staff/page.jsx - Reception queue
app/(main)/staff/reception/_components/reception-client.jsx - Department queue
app/(main)/staff/_components/department-queue.jsx - Visit workflow actions
actions/patient-visits.js - Triage, lab, pharmacy
app/(main)/staff/laboratory/page.jsx - Lab and pharmacy actions
prisma/seed-lab.js - Cashier and receipts
app/(main)/staff/cashier/_components/cashier-client.jsx - Prisma data access
lib/prisma.js
Administration
- Admin dashboard
app/(main)/admin/page.jsx - Admin and payout actions
actions/admin.js - Doctor management actions
actions/doctor.js
Other components
- Patient / visitor
- Clerk identity
- Vonage video service
Connections 25
- Patient / visitor → Home and pricing: visits
- Patient / visitor → Sign-in and sign-up: signs in
- Sign-in and sign-up → Clerk identity: authenticates
- Patient / visitor → Role onboarding: chooses role
- Role onboarding → Clerk identity: identifies user
- Patient / visitor → Doctor directory: browses
- Doctor directory → Doctor profile and slots: opens doctor
- Doctor profile and slots → Appointment booking: selects slot
- Appointment booking → Appointment actions: submits booking
- Appointment actions → Prisma data access: reads / writes
- Patient / visitor → Patient visits: manages care
- Doctor workspace → Appointment actions: manages appointments
- Patient / visitor → Video consultation: joins consultation
- Video consultation → Vonage video service: uses video service
- Staff department pages → Reception queue: opens reception
- Reception queue → Department queue: renders queue
- Department queue → Visit workflow actions: updates visits
- Cashier and receipts → Visit workflow actions: confirms payment
- Triage, lab, pharmacy → Lab and pharmacy actions: manages clinical records
- Visit workflow actions → Prisma data access: reads / writes
- Lab and pharmacy actions → Prisma data access: reads / writes
- Admin dashboard → Admin and payout actions: manages platform
- Admin dashboard → Doctor management actions: reviews doctors
- Admin and payout actions → Prisma data access: accesses records
- Doctor management actions → Prisma data access: accesses records