Revolutionizing Healthcare Access in India π
Connecting patients with trusted doctors through innovative appointment booking
Live Demo β’ Backend API β’ Documentation
- π Overview
- β¨ Key Features
- πΌοΈ Project Screenshots
- ποΈ Architecture
- π οΈ Tech Stack
- π Getting Started
- π± Features Deep Dive
- π§ API Endpoints
- π¨ UI/UX Highlights
- π Security Features
- π Performance Metrics
- π€ Contributing
- π License
RogNivaran is a comprehensive healthcare appointment booking platform designed specifically for the Indian market. Our mission is to bridge the gap between patients and healthcare providers, making quality healthcare accessible to everyone.
- Democratize Healthcare Access - Make quality healthcare available to all
- Digital Transformation - Modernize the traditional appointment booking process
- Patient-Centric Approach - Focus on user experience and convenience
- Trust & Transparency - Verified doctors and secure payment systems
- Intuitive Navigation - Seamless user journey from landing to booking
- Specialty-Based Search - Find doctors by medical specialties
- Real-Time Availability - Live slot booking with instant confirmation
- Responsive Design - Works perfectly on all devices
- Verified Profiles - All doctors are thoroughly vetted
- Specialty Classification - Organized by medical specialties
- Detailed Profiles - Experience, qualifications, and patient reviews
- Availability Tracking - Real-time slot management
- UPI Payments - Native Indian payment method with QR codes
- Card Payments - Stripe and Razorpay integration
- Cash Payments - Traditional payment option
- Secure Transactions - End-to-end encrypted payments
- Appointment Management - Book, reschedule, and cancel appointments
- Payment History - Complete transaction records
- Profile Management - Personal and medical information
- Prescription Storage - Digital medical records
- Doctor Management - Add, edit, and manage doctor profiles
- Patient Analytics - Comprehensive patient data insights
- Appointment Overview - Real-time appointment tracking
- Revenue Analytics - Payment and earnings reports
Our welcoming homepage showcases the platform's core features with a modern, clean design that immediately builds trust with users.
The second section highlights our key differentiators: verified doctors, instant booking, and secure payments.
Comprehensive doctor listing with specialty filters, ratings, and detailed information to help patients make informed decisions.
Detailed doctor profiles with booking interface, showing available slots, fees, and appointment scheduling process.
Secure authentication system with separate flows for patients, doctors, and administrators. Features include email verification, password strength validation, and role-based access control.
Multi-payment gateway integration supporting UPI (with QR codes), credit/debit cards (Stripe & Razorpay), and cash payments. Real-time payment verification and confirmation.
Comprehensive appointment management interface showing upcoming appointments, payment status, and appointment history with easy cancellation options.
Detailed user profile management with personal information, medical history, prescription storage, and account settings.
Powerful admin dashboard with real-time analytics, doctor management, patient overview, and comprehensive system monitoring capabilities.
Informative about section explaining our mission, values, and commitment to healthcare accessibility.
Detailed information about our services, team, and the technology behind RogNivaran.
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Frontend β β Backend β β Database β
β (React.js) βββββΊβ (Node.js) βββββΊβ (MongoDB) β
β β β β β β
β β’ User Interfaceβ β β’ API Endpoints β β β’ User Data β
β β’ State Mgmt β β β’ Authenticationβ β β’ Doctor Data β
β β’ Routing β β β’ Business Logicβ β β’ Appointments β
β β’ Components β β β’ File Upload β β β’ Payments β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β
β β β
βΌ βΌ βΌ
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Payment β β File Storage β β Email Service β
β Gateways β β (Cloudinary) β β (Nodemailer) β
β β β β β β
β β’ Stripe β β β’ Image Upload β β β’ Notifications β
β β’ Razorpay β β β’ File Mgmt β β β’ Confirmations β
β β’ UPI β β β’ CDN Delivery β β β’ Reminders β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
- React.js 18.2.0 - Modern UI framework with hooks and context
- Vite - Lightning-fast build tool and development server
- Tailwind CSS 3.3.0 - Utility-first CSS framework
- React Router 6 - Client-side routing and navigation
- Axios - HTTP client for API communication
- React Toastify - User notification system
- Node.js 18.0.0 - Server-side JavaScript runtime
- Express.js 4.18.2 - Web application framework
- MongoDB 6.0 - NoSQL database for flexible data storage
- Mongoose 7.5.0 - MongoDB object modeling tool
- JWT - JSON Web Tokens for authentication
- Bcrypt - Password hashing and security
- Stripe - International payment processing
- Razorpay - Indian payment gateway
- UPI - Unified Payments Interface with QR codes
- Cloudinary - Cloud-based image and video management
- Multer - File upload middleware
- Git - Version control system
- Vercel - Frontend deployment platform
- Render - Backend deployment platform
- ESLint - Code quality and consistency
- Node.js 18.0.0 or higher
- MongoDB 6.0 or higher
- Git
-
Clone the repository
git clone https://github.com/M-RajaBabu/RogNivaran.git cd RogNivaran -
Install dependencies
# Install frontend dependencies cd frontend npm install # Install backend dependencies cd ../backend npm install
-
Environment Setup
# Frontend (.env) VITE_BACKEND_URL=http://localhost:5000 # Backend (.env) MONGODB_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret CLOUDINARY_CLOUD_NAME=your_cloudinary_name CLOUDINARY_API_KEY=your_cloudinary_key CLOUDINARY_API_SECRET=your_cloudinary_secret STRIPE_SECRET_KEY=your_stripe_secret RAZORPAY_KEY_ID=your_razorpay_key RAZORPAY_KEY_SECRET=your_razorpay_secret ADMIN_EMAIL=admin@rognivaran.com ADMIN_PASSWORD=admin123456
-
Start development servers
# Start backend server cd backend npm run dev # Start frontend server (in new terminal) cd frontend npm run dev
-
Access the application
- Frontend: http://localhost:5173
- Backend API: http://localhost:5000
- Specialty-Based Filtering - Find doctors by medical specialties
- Location-Based Search - Filter by city and area
- Rating & Review System - Patient feedback and ratings
- Availability Calendar - Real-time slot availability
- Detailed Profiles - Experience, qualifications, and specializations
- Real-Time Slot Booking - Instant appointment confirmation
- Flexible Scheduling - 30-minute time slots throughout the day
- Conflict Prevention - Prevents double booking
- Reminder System - Email and SMS notifications
- Cancellation Policy - Easy appointment cancellation
- Multi-Gateway Support - Stripe, Razorpay, and UPI
- QR Code Integration - Native UPI QR code scanning
- Payment Verification - Real-time transaction verification
- Refund Processing - Automated refund handling
- Transaction History - Complete payment records
- Role-Based Access - Patient, Doctor, and Admin roles
- Profile Management - Personal and medical information
- Prescription Storage - Digital medical records
- Appointment History - Complete appointment tracking
- Security Features - Password protection and data encryption
- Doctor Management - Add, edit, and manage doctor profiles
- Patient Analytics - Comprehensive patient insights
- Revenue Tracking - Payment and earnings analytics
- System Monitoring - Real-time system health checks
- User Management - Patient and doctor account management
POST /api/user/register - User registration
POST /api/user/login - User login
POST /api/doctor/login - Doctor login
POST /api/admin/login - Admin login
GET /api/user/profile - Get user profile
PUT /api/user/profile - Update user profile
GET /api/user/appointments - Get user appointments
GET /api/doctors - Get all doctors
GET /api/doctors/:id - Get specific doctor
POST /api/doctors - Add new doctor (admin)
PUT /api/doctors/:id - Update doctor (admin)
POST /api/user/book-appointment - Book appointment
POST /api/user/cancel-appointment - Cancel appointment
GET /api/user/appointments - Get appointments
POST /api/user/payment-stripe - Stripe payment
POST /api/user/payment-razorpay - Razorpay payment
POST /api/user/verify-upi - UPI payment verification
GET /api/admin/dashboard - Admin dashboard data
GET /api/admin/doctors - All doctors (admin)
GET /api/admin/patients - All patients (admin)
GET /api/admin/appointments - All appointments (admin)
- Patient-Centric Design - Every feature designed with patient needs in mind
- Accessibility First - WCAG compliant design for all users
- Mobile-First Approach - Optimized for mobile devices
- Intuitive Navigation - Easy-to-use interface for all age groups
- Modern Aesthetics - Clean, professional medical platform design
- Color Psychology - Trust-building blue and green color scheme
- Typography - Readable fonts optimized for medical content
- Iconography - Medical-themed icons for better understanding
- Mobile Optimization - Perfect experience on smartphones
- Tablet Compatibility - Optimized for tablet devices
- Desktop Experience - Full-featured desktop interface
- Cross-Browser Support - Works on all modern browsers
- JWT Tokens - Secure session management
- Role-Based Access - Different permissions for different user types
- Password Hashing - Bcrypt encryption for passwords
- Token Expiration - Automatic session timeout
- Input Validation - Server-side validation for all inputs
- SQL Injection Prevention - Parameterized queries
- XSS Protection - Content Security Policy
- CSRF Protection - Cross-Site Request Forgery prevention
- PCI Compliance - Payment Card Industry standards
- Encrypted Transactions - End-to-end payment encryption
- Secure Gateways - Trusted payment processors
- Fraud Detection - Transaction monitoring
- Lazy Loading - Images and components load on demand
- Code Splitting - Smaller bundle sizes for faster loading
- CDN Delivery - Global content delivery network
- Caching Strategy - Browser and server-side caching
- Microservices Ready - Modular architecture for scaling
- Database Optimization - Indexed queries for faster performance
- Load Balancing - Ready for horizontal scaling
- Monitoring - Real-time performance monitoring
We welcome contributions from the community! Here's how you can help:
- Use the GitHub issue tracker
- Provide detailed reproduction steps
- Include browser and device information
- Describe the feature in detail
- Explain the use case and benefits
- Consider implementation complexity
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
- Improve README sections
- Add API documentation
- Create user guides
This project is licensed under the MIT License - see the LICENSE file for details.
- React.js Team - For the amazing frontend framework
- Node.js Community - For the robust backend ecosystem
- MongoDB Team - For the flexible database solution
- Tailwind CSS - For the utility-first CSS framework
- All Contributors - For making this project better
Made with β€οΈ by Raja Babu Meena
Project is done by Raja Babu Meena π
Revolutionizing healthcare, one appointment at a time π₯