HealTogether is a comprehensive health community platform designed to connect individuals seeking mental and physical health support with professionals and peers in a safe, supportive environment. The platform emphasizes mental well-being, fostering a community where users can feel secure, unjudged, and empowered to overcome their challenges. By integrating AI technology, HealTogether provides personalized health insights and encourages open discussions about topics often considered taboo.
๐ Experience it live: healtogether.tech
HealTogether aims to bridge the mental barriers people face by creating a community where users feel safe and supported. The platform focuses on promoting the importance of mental well-being, encouraging individuals to talk about their struggles, and reassuring them that they are not alone. It integrates AI tools to facilitate open conversations, enabling users to express themselves without fear of judgment while gradually overcoming their challenges.
- Secure user authentication via Clerk
- JWT token-based session management
- Role-based access (users, professionals, admins)
- Instant messaging between users
- Real-time notifications
- Read receipts and typing indicators
- Media sharing support
- Gemini AI integration for health inquiries
- Personalized health insights
- Symptom analysis and recommendations
- Medical information verification
- Group discussions for specific health topics
- Anonymous posting options
- Support circles for chronic conditions
- Event organization for health awareness
- Comprehensive user profiles
- Health metrics tracking
- Progress visualization
- Appointment scheduling
- React - UI library
- Vite - Build tool
- Tailwind CSS - Styling
- DaisyUI - UI components
- Zustand - State management
- Socket.io-client - Real-time communication
- Axios - API requests
- React Router - Routing
- React Hot Toast - Notifications
- Google Generative AI - AI integration
- Node.js - Runtime
- Express - Web framework
- MongoDB - Database
- Mongoose - ODM
- Socket.io - Real-time server
- JWT - Authentication
- bcryptjs - Password hashing
- ImageKit & Cloudinary - Image handling
- Google Generative AI - AI services
- Node.js >= 16.x
- MongoDB
- Clerk account
- ImageKit account
- Google Gemini API key
- Groq API key (optional)
- Cloudinary account
-
Clone the repository
git clone https://github.com/RICH-KEED/HealTogether.git cd HealTogether -
Install dependencies
npm run install-all -
Configure environment variables
Create
.envfiles in both frontend and backend directories based on the examples below:Frontend (.env)
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key VITE_IMAGE_KIT_PUBLIC_KEY=your_imagekit_public_key VITE_IMAGE_KIT_ENDPOINT=https://ik.imagekit.io/your_endpoint VITE_API_URL=http://localhost:5001 VITE_API_BASE_URL=http://localhost:5001/api VITE_GEMINI_PUBLIC_KEY=your_gemini_api_key VITE_GROQ_API_KEY=your_groq_api_keyBackend (.env)
JWT_SECRET=your_jwt_secret_key MONGO_URI=your_mongodb_connection_string CLIENT_URL=http://localhost:5173 PORT=5001 GEMINI_API_KEY=your_gemini_api_key IMAGE_KIT_ENDPOINT=https://ik.imagekit.io/your_endpoint IMAGE_KIT_PUBLIC_KEY=your_imagekit_public_key IMAGE_KIT_PRIVATE_KEY=your_imagekit_private_key CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name CLOUDINARY_API_KEY=your_cloudinary_api_key CLOUDINARY_API_SECRET=your_cloudinary_api_secret CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key CLERK_SECRET_KEY=your_clerk_secret_key -
Start development servers
npm run devThis will start both frontend and backend servers concurrently.
HealTogether/
โโโ backend/ # Backend server
โ โโโ src/
โ โ โโโ controllers/ # Request handlers
โ โ โโโ db/ # Database connection
โ โ โโโ lib/ # Utilities
โ โ โโโ middleware/ # Express middleware
โ โ โโโ models/ # MongoDB models
โ โ โโโ routes/ # API routes
โ โ โโโ index.js # Entry point
โ โ โโโ server.js # Server configuration
โ โโโ package.json
โโโ frontend/ # React frontend
โ โโโ public/ # Static assets
โ โโโ src/
โ โ โโโ components/ # UI components
โ โ โโโ layouts/ # Page layouts
โ โ โโโ lib/ # Utilities
โ โ โโโ pages/ # Pages
โ โ โโโ routes/ # Route components
โ โ โโโ store/ # Zustand stores
โ โ โโโ App.jsx # App component
โ โ โโโ main.jsx # Entry point
โ โโโ package.json
โโโ package.json # Root package.json
POST /api/auth/signup- Register a new userPOST /api/auth/login- Login a userGET /api/auth/logout- Logout a userGET /api/auth/profile- Get user profile
GET /api/messages/:id- Get messages for a conversationPOST /api/messages- Send a new messageDELETE /api/messages/:id- Delete a message
GET /api/admin/users- Get all users (admin only)PATCH /api/admin/users/:id- Update user (admin only)DELETE /api/admin/users/:id- Delete user (admin only)
POST /api/chats- Create a new AI chatGET /api/chats/:id- Get chat historyPOST /api/gemini- Send request to Gemini AI
GET /api/upload- Get ImageKit authentication parameters
To create a production build:
npm run build
- Connect your GitHub repository to Render
- Create a new Web Service
- Use the following settings:
- Build Command:
npm run install-all && cd frontend && npm install imagekitio-react && cd .. && npm run build - Start Command:
NODE_ENV=production cd backend && node src/index.js - Environment Variables: Add all variables from both .env files
- Build Command:
- Add your domain in the Render dashboard
- Update environment variables to use your domain:
CLIENT_URL=https://yourdomain.com VITE_API_URL=https://yourdomain.com VITE_API_BASE_URL=https://yourdomain.com/api - Configure DNS records as instructed by Render
- Abhineet: Backend development, API creation, and handling.
- Akash: UI design and API optimization.
- Suryansh: Login & signup authentication implementation.
- Riva Diwan: Implemented features like Aura Ai,Dairy[Notes].
- Diary notes may not save.
- AURA AI may forget past chats.
- Emotion Analysis Using NLP: Implement natural language processing (NLP) techniques to analyze user emotions during chats for better support.
- Self-Care Area: Introduce meditation guides, yoga practices, and mindfulness exercises.
- Enhanced AI Recommendations: Provide more tailored mental health suggestions based on user behavior and history.
- Expanded Community Features: Add forums, guided group therapy sessions, and partnerships with NGOs.
- Mobile Application: Develop iOS and Android apps to make HealTogether accessible on mobile devices.
- Mental Well-being Gamification: Introduce gamified tasks to encourage self-improvement.
- Therapist Matching System: Match users with therapists based on their specific needs.
HealTogether fosters an inclusive environment where users can:
- Discuss sensitive topics openly without fear of judgment.
- Seek support from peers and professionals alike.
- Build resilience by addressing mental barriers step by step.
The platform also collaborates with therapists, NGOs, and other support organizations to provide holistic care.
You can use the following referral code to test the platform features:
THE67efe2500
- Email:
[email protected] - Password:
Asd.123@#$
- Email:
[email protected] - Password:
Asd.123@#$
- Email:
[email protected] - Password:
Asd.123@#$
For any questions or feedback, please reach out to [email protected].
