How pratikvathare/arogyaconnect works
ArogyaConnect is a healthcare and hospital-navigation portal: users enter through a routed React application to find and compare hospitals, check symptoms, use an AI assistant, manage accounts, and access appointments. The backend exposes corresponding Express routes, with Supabase for authentication and appointment data, email notifications, and external map-data services for hospital discovery. Source excerpts show these backend service calls, but do not establish how the frontend pages call the API, so those links are omitted.
Main entry points: App.jsx Route application · index.js HTTP server · userRoutes.js User routes · authController.js Account handling
Components 30
Web application
- Route application
src/App.jsx - Main layout
src/layouts/MainLayout.jsx - Home
src/pages/Home.jsx - Account pages
src/pages/Signup.jsx - Dashboard
src/pages/Dashboard.jsx - Hospital listings
src/pages/Hospitals.jsx - Hospital comparison
src/pages/CompareHospitals.jsx - Symptom checker
src/pages/SymptomChecker.jsx - AI assistant
src/pages/AIAssistant.jsx - Chat widget
src/components/AIChatWidget.jsx
Accounts
- User routes
server/routes/userRoutes.js - Account handling
server/controllers/authController.js - Token verification
server/middleware/auth.js
Care services
- HTTP server
server/index.js - Appointment routes
server/routes/appointmentRoutes.js - Appointment handling
server/controllers/appointmentController.js - Chat routes
server/routes/chatbotRoutes.js - Chat handling
server/controllers/chatbotController.js - Symptom routes
server/routes/symptomsRoutes.js - Symptom handling
server/controllers/symptomsController.js - LLM service
server/services/llmService.js
Hospital discovery
- Hospital routes
server/routes/hospitalRoutes.js - Hospital search
server/controllers/hospitalController.js
External services
- Supabase client
server/config/supabaseClient.js - Supabase
- Mail transport
server/config/mailer.js - Email service
- Groq API
- OpenStreetMap data
Other components
- Portal user
Connections 33
- Portal user → Route application: opens portal
- Route application → Home: routes to
src/App.jsx - Route application → Account pages: routes to
src/App.jsx - Route application → Dashboard: routes to
src/App.jsx - Route application → Hospital listings: routes to
src/App.jsx - Route application → Hospital comparison: routes to
src/App.jsx - Route application → Symptom checker: routes to
src/App.jsx - Route application → AI assistant: routes to
src/App.jsx - Route application → Main layout: renders within
src/App.jsx - Main layout → Chat widget: uses
src/layouts/MainLayout.jsx - HTTP server → User routes: mounts routes
server/index.js - HTTP server → Appointment routes: mounts routes
server/index.js - HTTP server → Chat routes: mounts routes
server/index.js - HTTP server → Symptom routes: mounts routes
server/index.js - HTTP server → Hospital routes: mounts routes
server/index.js - User routes → Account handling: dispatches to
server/routes/userRoutes.js - User routes → Token verification: protects route
server/routes/userRoutes.js - Appointment routes → Token verification: protects routes
server/routes/appointmentRoutes.js - Appointment routes → Appointment handling: dispatches to
server/routes/appointmentRoutes.js - Chat routes → Chat handling: dispatches to
server/routes/chatbotRoutes.js - Symptom routes → Symptom handling: dispatches to
server/routes/symptomsRoutes.js - Hospital routes → Hospital search: dispatches to
server/routes/hospitalRoutes.js - Chat handling → LLM service: requests response
server/controllers/chatbotController.js - Symptom handling → LLM service: uses analysis
server/controllers/symptomsController.js - Token verification → Supabase client: verifies token
server/middleware/auth.js - Supabase client → Supabase: connects to
- Account handling → Supabase client: uses client
server/controllers/authController.js - Account handling → Mail transport: sends reset email
server/controllers/authController.js - Appointment handling → Supabase: reads and writes
server/controllers/appointmentController.js - Appointment handling → Mail transport: sends confirmation
server/controllers/appointmentController.js - Mail transport → Email service: delivers email
- LLM service → Groq API: requests completions
server/services/llmService.js - Hospital search → OpenStreetMap data: queries facilities
server/controllers/hospitalController.js