A comprehensive healthcare platform designed to assist elderly users with medicine identification and doctor finding. Built with Express.js, MongoDB, and modern web technologies.
- AI-Powered Medicine Scanning: Upload medicine images for intelligent identification
- Barcode Scanning: Quick medicine lookup using barcode scanning
- Comprehensive Medicine Database: Detailed information about medicines including uses, precautions, and interactions
- Search & Filter: Advanced search capabilities with category and prescription filters
- Location-Based Search: Find doctors near your location
- Specialization Filtering: Search by medical specialization
- Rating & Reviews: View doctor ratings and patient reviews
- Availability Check: See doctor availability and consultation fees
- Elderly-Friendly Design: Large fonts, clear navigation, and intuitive interface
- Voice Assistant: Voice commands for hands-free navigation
- Responsive Design: Works on desktop, tablet, and mobile devices
- Accessibility: WCAG compliant with screen reader support
src/
โโโ app.js # Main application setup
โโโ config/ # Configuration files
โ โโโ database.js # Database connection
โ โโโ index.js # App configuration
โโโ controllers/ # Business logic controllers
โ โโโ medicineController.js
โ โโโ doctorController.js
โโโ middleware/ # Custom middleware
โ โโโ errorHandler.js # Error handling
โ โโโ logger.js # Request logging
โ โโโ validation.js # Input validation
โโโ models/ # Database models
โ โโโ Doctor.js
โ โโโ Medicine.js
โ โโโ ScanHistory.js
โโโ routes/ # API routes
โ โโโ doctor.js
โ โโโ medicine.js
โโโ services/ # Business services
โ โโโ imageService.js
โ โโโ medicineService.js
โโโ utils/ # Utility functions
โ โโโ helpers.js
โ โโโ response.js
โโโ scripts/ # Database scripts
โโโ seed-database.js
public/
โโโ index.html # Main application page
โโโ css/
โ โโโ style.css # Application styles
โโโ js/
โ โโโ script.js # Client-side JavaScript
โโโ images/ # Static images
โโโ uploads/ # User uploaded files
- Node.js - Runtime environment
- Express.js - Web framework
- MongoDB - Database
- Mongoose - ODM for MongoDB
- Multer - File upload handling
- Sharp - Image processing
- Joi - Data validation
- Helmet - Security middleware
- CORS - Cross-origin resource sharing
- HTML5 - Semantic markup
- CSS3 - Modern styling with CSS Grid and Flexbox
- Vanilla JavaScript - No framework dependencies
- Font Awesome - Icons
- Google Fonts - Typography
- Node.js (v16 or higher)
- MongoDB (local or Atlas)
- npm or yarn
-
Clone the repository
git clone https://github.com/your-username/healthcare-helper-platform.git cd healthcare-helper-platform -
Install dependencies
npm install
-
Environment configuration
cp env.example .env # Edit .env with your configuration -
Database setup
# Start MongoDB (if running locally) mongod # Seed the database with sample data npm run seed
-
Start the application
# Development mode npm run dev # Production mode npm start
-
Access the application
- Open your browser to
http://localhost:3000 - API health check:
http://localhost:3000/api/health
- Open your browser to
| Variable | Description | Default |
|---|---|---|
NODE_ENV |
Environment mode | development |
PORT |
Server port | 3000 |
MONGODB_URI |
MongoDB connection string | mongodb://localhost:27017/healthcare-helper |
FRONTEND_URL |
Frontend URL for CORS | http://localhost:3000 |
JWT_SECRET |
JWT secret key | your-super-secret-jwt-key |
MAX_FILE_SIZE |
Maximum file upload size | 10485760 (10MB) |
- Basic information (name, dosage, form)
- Medical details (uses, precautions, side effects)
- Images and barcode support
- Category and prescription requirements
- Personal information and credentials
- Specialization and experience
- Location and availability
- Ratings and reviews
- Contact information
- User scan records
- Medicine identification results
- Confidence scores and metadata
| Method | Endpoint | Description | Access |
|---|---|---|---|
| POST | /api/medicine/scan |
Scan medicine image | Public |
| POST | /api/medicine/barcode |
Scan by barcode | Public |
| GET | /api/medicine/search |
Search medicines | Public |
| GET | /api/medicine/:id |
Get medicine details | Public |
| GET | /api/medicine/categories/list |
Get categories | Public |
| POST | /api/medicine |
Create medicine | Admin |
| PUT | /api/medicine/:id |
Update medicine | Admin |
| DELETE | /api/medicine/:id |
Delete medicine | Admin |
| Method | Endpoint | Description | Access |
|---|---|---|---|
| GET | /api/doctors/search |
Search doctors | Public |
| GET | /api/doctors/nearby |
Find nearby doctors | Public |
| GET | /api/doctors/:id |
Get doctor details | Public |
| GET | /api/doctors/specializations/list |
Get specializations | Public |
| POST | /api/doctors/:id/review |
Add review | Private |
| POST | /api/doctors |
Create doctor | Admin |
| PUT | /api/doctors/:id |
Update doctor | Admin |
| DELETE | /api/doctors/:id |
Delete doctor | Admin |
# Run tests (when implemented)
npm test
# Run linting
npm run lint
# Fix linting issues
npm run lint:fix- Set
NODE_ENV=production - Configure MongoDB Atlas or production database
- Set secure JWT secret
- Configure CORS for production domain
- Set up file storage (AWS S3 or similar)
- Configure rate limiting
- Set up monitoring and logging
- Configure SSL/TLS
# Build Docker image
docker build -t healthcare-helper .
# Run container
docker run -p 3000:3000 healthcare-helper- 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
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting PR
This project is licensed under the MIT License - see the LICENSE file for details.
- Font Awesome for icons
- Google Fonts for typography
- MongoDB for database
- Express.js community for excellent documentation
For support, email support@healthcare-helper.com or create an issue in the repository.
- User authentication and profiles
- Appointment booking system
- Push notifications
- Mobile app (React Native)
- Advanced AI medicine recognition
- Integration with pharmacy APIs
- Multi-language support
- Offline functionality