MedComp Assistant is a health-focused, AI-powered assistant designed to provide accurate, reliable, and empathetic support to users of all ages, especially teenagers. With over 10 years of medical knowledge integrated into its system, MedComp aims to simplify complex health information into easy-to-understand advice while offering personalized care.
A web application and chatbot backend built using Vite for the frontend and backend and FastAPI for the chatbot backend.
- Features
- Bot in Action
- System Architecture Overview
- Future Scope
- Tech Stack
- Installation
- Setting Up Environment Variables
- Running the Project
- Build and Deployment
- Contributing
- License
System Features
- Users can share articles, tips, and experiences about
- A blog platform for people to exchange ideas and learn from others' experiences.
- Users can create and manage schedules for:
- Medication reminders.
- Workout plans.
- Health checkups or doctor appointments.
- An intuitive interface to help users align their daily health plans
Bot Features
- Users can ask the chatbot any questions related to:
- Diseases and symptoms.
- Psychology and mental health.
- Nutrition advice for healthy living.
- Tips for improving lifestyle.
- The chatbot analyzes user schedules and provides personalized recommendations to improve health and wellness.
- Suggests optimized plans for fitness, meals, and mental well-being.
- Provides information about diseases, their symptoms, prevention, and treatment options.
- Answers questions in easy-to-understand language, avoiding medical jargon.
- Offers personalized advice to help users maintain a healthy lifestyle.
- Answers questions about food choices, fitness routines, and mental relaxation techniques.
- Frontend: Vite, React
- Backend: Express, FastAPI, Python 3.11
- Package Manager: npm (for frontend and backend dependencies), pip (for chatbot backend dependencies)
- Database: MongoDB
Watch the below video to get a better idea on how bot works
-
Optimized Prompt and Tool Descriptions
- Design more specific and effective prompts to enhance chatbot performance.
- Refine descriptions of tools to ensure clarity and usability.
-
Admin Dashboard
- Develop a dedicated dashboard for administrators to manage users, content, and system settings efficiently.
-
Search for Missing Information
- Enable the chatbot to search the Internet for missing information or provide guidance when it lacks data to respond accurately.
-
Web Deployment
- Deploy the web application for public access on platforms like Vercel, Netlify, or a dedicated server.
-
Image and Voice Processing
- Add support for users to upload images for analysis or interpretation.
- Implement voice interaction capabilities for queries and responses.
-
Schedule Database Management
- Introduce features for users to modify their schedules directly, such as deleting or updating entries in the database.
- Node.js (v16 or newer)
- Python 3.11
- pip for Python dependency management
-
Clone the repository:
git clone https://github.com/dngan0365/HealthcareBlogChat cd HealthcareBlogChat -
Install dependencies:
-
Frontend:
cd client npm install -
Backend:
cd backend npm install -
Chatbot Backend:
cd chatbot-backend pip install -r requirements.txt
-
-
Frontend:
- Create a
.envfile in theclientdirectory. - Add your environment variables:
VITE_API_URL=http://localhost:3000 VITE_IK_URL_ENDPOINT=your-vite-ik-url-endpoint VITE_IK_PUBLIC_KEY=your-vite-ik-public-key VITE_IK_SECRET_KEY=your-vite-ik-secret-key VITE_CLERK_PUBLISHABLE_KEY=your-vite-clerk-publishable VITE_API_URL=your-vite-api-url VITE_GEMINI_PUBLIC_KEY=your-gemini-public LICENSE_KEY_SYNCFUSION=your-license-key-syncfusion
- For IK (support images): ImageKit
- For Syncfusion (support schedule): Syncfusion
- Create a
-
Backend:
- Create a
.envfile in thebackenddirectory. - Add your environment variables:
MONGO=your-mongo-url CLIENT_URL="http://localhost:5173" CLERK_WEBHOOK_SECRET=your-webhook-secret CLERK_PUBLISHABLE_KEY=your-publishable-key CLERK_SECRET_KEY=your-clerk-secret-key IK_URL_ENDPOINT=your-ik-url-endpoint IK_PUBLIC_KEY=your-ik-public-key IK_PRIVATE_KEY=your-ik-private-key
- Mongo for database: Mongo
- Clerk for Authentication: Cleark
- IK fro images: ImageKit
- Create a
-
Chatbot Backend:
-
Create a
api_keys.yamlfile in configs folder in thechatbot-backenddirectory. -
Add your environment variables:
api_keys.yaml
openai: api_key: your-key weaviate: url: your-weaviate-url api_key: your-weaviate-api-key mongodb: url: your-mongo-url
-
-
Ensure the
api_keys.yamlfiles are listed in.gitignoreto prevent them from being pushed to the repository.
-
Start the development server:
cd client npm run dev -
Open your browser and visit: http://localhost:5173
-
Start the FastAPI server:
cd backend npm start -
Open your browser and visit: http://localhost:3000
-
Start the FastAPI server:
cd backend cd src uvicorn backend.main:app --reload --host 0.0.0.0 --port 8000
-
API documentation will be available at:
- Swagger UI
- ReDoc
-
Build for production:
cd frontend npm run build -
The production-ready files will be in the
distfolder.
-
Use a production-grade server like
gunicornoruvicornwith multiple workers:python -m backend.uvicorn main:app --host 0.0.0.0 --port 8000


