How aayushshirode2060/mindwell works
MindWell is a role-based mental wellness platform for college students, with student self-service, counsellor and volunteer workflows, and administrative oversight. The main student journey is to enter a protected portal, record mood or screening information, use AI chat for support, and receive recommendations or a crisis referral; appointments and community support are additional paths. The backend exposes domain APIs backed by MongoDB, and the chat controller calls a separate Flask mood classifier. The README documents real-time chat and analytics; source excerpts are partial, so uncertain wiring is omitted.
Main entry points: App.jsx Role-based portal · axios.js HTTP API client · chatController.js AI chat and triage · models MongoDB records
Components 29
Web experience
- Role-based portal
client/src/App.jsx - Session and roles
client/src/context/AuthContext.jsx - HTTP API client
client/src/api/axios.js
Student support
- Student care tools
client/src/pages/student - AI chat
client/src/pages/student/ChatBot.jsx - Wellness games
client/src/pages/student/GamesPage.jsx - Chat room UI
client/src/components/chat/ChatRoom.jsx
Care operations
- Counsellor workspace
client/src/pages/counsellor - Volunteer workspace
client/src/pages/volunteer - Admin dashboard
client/src/pages/admin/AdminDashboard.jsx
Backend services
- Express API
server/server.js - Authentication routes
server/routes/auth.js - Chat routes
server/routes/chat.js - Domain routes
server/routes - Authentication logic
server/controllers/authController.js - AI chat and triage
server/controllers/chatController.js - Appointment management
server/controllers/appointmentController.js - Resource recommendations
server/controllers/resourceController.js - Administration and analytics
server/controllers/adminController.js - MongoDB records
server/models - Realtime chat
server/socket/chatSocket.js
External systems
- Mood classifier API
ml-service/app.py - Generative AI
- Email delivery
server/services/emailService.js - WhatsApp alerts
server/services/whatsappService.js
Other components
- Student
- Counsellor
- Volunteer
- Administrator
Connections 36
- Student → Role-based portal: opens portal
- Counsellor → Role-based portal: opens portal
- Volunteer → Role-based portal: opens portal
- Administrator → Role-based portal: opens portal
- Role-based portal → Session and roles: checks identity
- Role-based portal → Student care tools: routes students
- Role-based portal → Counsellor workspace: routes counsellors
- Role-based portal → Volunteer workspace: routes volunteers
- Role-based portal → Admin dashboard: routes admins
- Student care tools → HTTP API client: requests services
- AI chat → HTTP API client: sends chat
- Wellness games → HTTP API client: requests game data
- Counsellor workspace → HTTP API client: requests services
- Volunteer workspace → HTTP API client: requests services
- Admin dashboard → HTTP API client: requests services
- HTTP API client → Express API: sends API requests
- Express API → Authentication routes: mounts routes
- Express API → Chat routes: mounts routes
- Express API → Domain routes: mounts routes
- Authentication routes → Authentication logic: dispatches
- Chat routes → AI chat and triage: dispatches
- AI chat and triage → Mood classifier API: classifies text
- AI chat and triage → Generative AI: generates reply
- AI chat and triage → MongoDB records: reads and writes
- AI chat and triage → Email delivery: sends crisis alert
- AI chat and triage → WhatsApp alerts: sends crisis alert
- Authentication logic → MongoDB records: reads and writes
- Authentication logic → Email delivery: sends verification
- Domain routes → Appointment management: dispatches appointments
- Domain routes → Resource recommendations: dispatches resources
- Domain routes → Administration and analytics: dispatches administration
- Appointment management → MongoDB records: reads and writes
- Appointment management → Email delivery: sends confirmations
- Resource recommendations → MongoDB records: reads and writes
- Administration and analytics → MongoDB records: queries records
- Chat room UI → Realtime chat: exchanges messages