(https://skinsight.netlify.app)
Revolutionizing healthcare with AI-powered skin analysis, intelligent chat assistance, and comprehensive hospital management
Features β’ Tech Stack β’ Quick Start β’ API Documentation β’ Contributing
SkinSight is a cutting-edge healthcare management platform that combines traditional hospital management with advanced AI capabilities. The platform serves patients, doctors, and hospital staff with features ranging from AI-powered skin condition analysis to intelligent medical report interpretation.
- π€ AI-Powered Skin Analysis: Upload skin images for instant condition detection using deep learning
- π¬ Intelligent Medical Assistant: AI chat bot for medical report analysis and health insights
- π₯ Comprehensive Hospital Management: Complete appointment and queue management system
- π± Real-time Communication: Live video calls and instant messaging between patients and doctors
- π Secure & Scalable: JWT authentication with role-based access control
- Smart Hospital Discovery: Find nearby hospitals with advanced filtering
- AI Skin Analysis: Upload photos for instant skin condition detection
- Intelligent Medical Assistant: Get insights on medical reports and test results
- Appointment Booking: Easy appointment scheduling with real-time availability
- Queue Management: Join virtual queues and track your position
- Video Consultations: Secure video calls with healthcare providers
- Medical History: Complete appointment and consultation history
- Patient Management: View and manage patient appointments
- Queue Control: Real-time queue management and patient flow
- Video Consultations: Conduct secure video calls with patients
- Profile Management: Comprehensive doctor profile setup
- Hospital Association: Connect with multiple healthcare facilities
- Hospital Dashboard: Complete hospital management interface
- Doctor Management: Manage doctor profiles and schedules
- Queue Monitoring: Real-time queue status and management
- Appointment Oversight: Monitor and manage all appointments
- Skin Condition Detection: Deep learning model for skin disease classification
- Medical Report Analysis: AI-powered interpretation of medical documents
- Intelligent Chat: Context-aware medical assistance
- OCR Integration: Extract text from medical images and documents
- React 19 - Modern UI framework with hooks
- Vite - Fast build tool and development server
- Tailwind CSS 4 - Utility-first CSS framework
- React Router DOM - Client-side routing
- Socket.IO Client - Real-time communication
- Axios - HTTP client for API calls
- React Hot Toast - User notifications
- Node.js - JavaScript runtime
- Express.js - Web application framework
- MongoDB - NoSQL database
- Mongoose - MongoDB object modeling
- Socket.IO - Real-time bidirectional communication
- JWT - JSON Web Token authentication
- bcryptjs - Password hashing
- OpenAI API - AI-powered chat and analysis
- Python Flask - ML service framework
- PyTorch - Deep learning framework
- ResNet-50 - Pre-trained CNN for image classification
- OpenAI GPT-4 - Advanced language model for medical assistance
- Netlify - Frontend hosting
- Render - Backend and ML service hosting
- MongoDB Atlas - Cloud database
- Environment Variables - Secure configuration management
- Node.js (v18.0.0 or higher)
- npm or yarn package manager
- MongoDB instance (local or MongoDB Atlas)
- Python 3.8+ (for ML service)
- OpenAI API Key (for AI features)
git clone https://github.com/yourusername/SkinSight.git
cd SkinSight
cd server
# Install dependencies
npm install
# Create environment file
cp .env.example .env
Configure your .env
file:
PORT=5000
MONGO_URL=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
OPENAI_API_KEY=your_openai_api_key
NODE_ENV=development
# Start development server
npm run dev
cd ../client
# Install dependencies
npm install
# Create environment file
cp .env.example .env
Configure your .env
file:
VITE_API_URL=http://localhost:5000
# Start development server
npm run dev
cd ../server/ml
# Install Python dependencies
pip install -r requirements.txt
# Start ML service
python app.py
- Frontend: http://localhost:5173
- Backend API: http://localhost:5000
- ML Service: http://localhost:5001
POST /api/auth/register
POST /api/auth/login
POST /api/auth/logout
GET /api/auth/profile
GET /api/hospitals
POST /api/hospitals
GET /api/hospitals/:id
PUT /api/hospitals/:id
DELETE /api/hospitals/:id
GET /api/appointments
POST /api/appointments
PUT /api/appointments/:id
DELETE /api/appointments/:id
GET /api/queues
POST /api/queues/join
PUT /api/queues/:id
DELETE /api/queues/:id
POST /api/chat
POST /api/analyze-image
POST /api/ocr
GET /ml/health
POST /ml/predict
SkinSight/
βββ client/ # React frontend
β βββ public/ # Static assets
β β βββ components/ # React components
β β βββ context/ # React context providers
β β βββ hooks/ # Custom React hooks
β β βββ constants/ # Application constants
β β βββ assets/ # Images and icons
β βββ package.json
β βββ vite.config.js
βββ server/ # Node.js backend
β βββ controllers/ # Route controllers
β βββ models/ # MongoDB models
β βββ routes/ # API routes
β βββ middleware/ # Custom middleware
β βββ ml/ # Python ML service
β β βββ app.py # Flask ML API
β β βββ best_resnet50_model.pth
β β βββ requirements.txt
β βββ socket.js # Socket.IO configuration
β βββ index.js # Main server file
βββ README.md
PORT=5000
MONGO_URL=mongodb://localhost:27017/skinsight
JWT_SECRET=your_super_secret_jwt_key
OPENAI_API_KEY=sk-your_openai_api_key
NODE_ENV=development
CORS_ORIGIN=http://localhost:5173
VITE_API_URL=http://localhost:5000
VITE_ML_SERVICE_URL=http://localhost:5001
-
Local MongoDB:
mongod --dbpath /path/to/your/data/directory
-
MongoDB Atlas:
- Create a cluster at MongoDB Atlas
- Get your connection string
- Update
MONGO_URL
in your.env
file
-
Build the project:
cd client npm run build
-
Deploy to Netlify:
- Connect your GitHub repository
- Set build command:
npm run build
- Set publish directory:
dist
-
Render:
- Connect your GitHub repository
- Set build command:
npm install
- Set start command:
npm start
- Add environment variables
-
Heroku:
heroku create your-app-name heroku config:set MONGO_URL=your_mongodb_url heroku config:set JWT_SECRET=your_jwt_secret git push heroku main
- Create a new Web Service on Render
- Connect your GitHub repository
- Set build command:
pip install -r requirements.txt
- Set start command:
python app.py
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
- Follow the existing code style
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for providing the GPT-4 API
- MongoDB for the database solution
- Netlify and Render for hosting services
- Tailwind CSS for the beautiful UI framework
- React team for the amazing frontend framework
- Live Demo: https://skinsight.netlify.app
- ML Service: https://skinsight-ml.onrender.com
- Issues: GitHub Issues
- Email: support@skinsight.com