Skip to content

hellman53/book_my_doctor

Repository files navigation

πŸ₯ BookMyDoc - Book My Doctor

Modern healthcare appointment booking platform with integrated medicine store built with Next.js, featuring virtual consultations, in-person visits, pharmacy integration, and seamless doctor-patient connections.

⚠️ IMPORTANT DEVELOPMENT NOTICE: This application is currently under active development. Many features, including the complete medicine store functionality, are not yet implemented or fully functional. Please see the "Development Status" section below for details.

🌐 Live Demo

Try BookMyDoc now: book-my-doctor-two.vercel.app

🚧 Demo Limitations: The live demo showcases core appointment booking functionality. Medicine store and several advanced features are placeholder implementations only.

🚧 Development Status

βœ… Fully Implemented & Working

  • πŸ‘¨β€βš•οΈ Doctor Discovery & Profiles - Complete with search and filtering
  • πŸ“… Appointment Booking System - Full scheduling with real-time availability
  • πŸ” User Authentication - Secure login/signup with Clerk
  • πŸ’³ Payment Processing - Stripe integration for appointments
  • πŸ“Ή Virtual Consultations - ZegoCloud video call setup
  • πŸ“± Responsive UI - Complete design system with Tailwind CSS

πŸ› οΈ Partially Implemented

  • πŸ’Š Medicine Store UI - Basic interface and components built
  • πŸ“‹ Prescription Management - Frontend components ready
  • πŸ›’ Shopping Cart - UI implemented, backend pending
  • πŸ“¦ Order Management - Basic structure in place

❌ Not Yet Implemented

  • πŸ’Š Medicine Inventory System - Backend database and management
  • πŸ“‹ Prescription Validation - Digital prescription processing
  • 🚚 Delivery Integration - Shipping and tracking services
  • πŸ“Š Pharmacy Dashboard - Inventory and order management
  • πŸ”” Medicine Notifications - Stock alerts and reminders
  • πŸ’Š Drug Interaction Checks - Safety validation system

✨ Features

🎯 Core Functionality (WORKING)

  • πŸ‘¨β€βš•οΈ Smart Doctor Discovery - Find specialists based on location, availability, and expertise
  • πŸ“… Flexible Scheduling - Book virtual or in-person appointments with real-time availability
  • πŸ’³ Secure Payments - Integrated Stripe payment processing for appointments
  • πŸ“Ή Virtual Consultations - Built-in video calling powered by ZegoCloud
  • πŸ“± Responsive Design - Optimized for desktop, tablet, and mobile devices

πŸͺ Medicine Store Features (UNDER DEVELOPMENT)

⚠️ These features are currently in development and not functional

  • πŸ’Š Comprehensive Pharmacy - Wide range of medicines and healthcare products
  • πŸ“‹ Prescription Management - Digital prescription handling and verification
  • 🚚 Delivery Tracking - Real-time order tracking and delivery updates
  • πŸ’Š Medicine Search - Smart search with categories and filters
  • πŸ“¦ Inventory Management - Real-time stock availability and updates
  • 🎯 Prescription Upload - Easy prescription upload for required medications

πŸ” Authentication & Security (WORKING)

  • πŸ”’ Secure Authentication - Powered by Clerk for robust user management
  • πŸ›‘οΈ Verified Doctors - Comprehensive doctor verification and profile management
  • πŸ” Secure Data - Firestore database with proper access controls

πŸ“Έ Screenshots

Preview

πŸš€ Quick Start

Prerequisites

  • Node.js (v18 or higher)
  • Firebase Project with Firestore enabled
  • Clerk Account for authentication
  • Stripe Account for payments
  • ZegoCloud Account for video calls

1. Clone the Repository

git clone https://github.com/yourusername/book-my-doctor.git
cd book-my-doctor

2. Set Up Environment Variables

Create a .env.local file in the root directory:

# backend/.env
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=""
CLERK_SECRET_KEY=""
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/onboarding
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/onboarding

GEMINI_API_KEY=""

# Clerk Webhook Secret (you'll need to get this from your Clerk dashboard)
# Instructions: Go to Clerk Dashboard -> Webhooks -> Create Endpoint -> Copy the secret
CLERK_WEBHOOK_SECRET=your_webhook_secret_here


# Stripe Payment Gateway Keys
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=""
STRIPE_SECRET_KEY=""
# Stripe Webhook Secret (for production)
STRIPE_WEBHOOK_SECRET=whsec_YOUR_WEBHOOK_SECRET

# ZegoCloud Video Calling api keys
NEXT_PUBLIC_ZEGOCLOUD_APP_ID=""
NEXT_PUBLIC_ZEGOCLOUD_SERVER_SECRET=""

# Firebase Api Keys
NEXT_PUBLIC_FIREBASE_API_KEY=""
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=""
NEXT_PUBLIC_FIREBASE_PROJECT_ID=""
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=""
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=""
NEXT_PUBLIC_FIREBASE_APP_ID=""
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=""

3. Install Dependencies & Build

# Install all dependencies and build frontend
npm install

4. Start Development Server

# Start with hot reload (recommended)
npm run dev

πŸŽ‰ That's it! Open http://localhost:3000 to see BookMyDoc in action.

πŸ“ Note: The medicine store sections will show placeholder content as these features are still in development.

Built with ❀️ using React, Node.js, and Google AI

⭐ Star this repo if you found it helpful!

About

BookMyDoctor – πŸ₯ Your complete digital healthcare solution. Find specialists, book instant appointments, get virtual consultations, and manage medications with seamless scheduling and secure payments. 🩺

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors