Skip to content

Mankurj05/Healing-Hands-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Healing Hands - Medical Appointment Booking System

A modern, responsive web application for booking medical appointments with verified doctors. Built with React, TypeScript, and Tailwind CSS.

๐Ÿฅ Project Overview

Healing Hands is a comprehensive healthcare appointment booking platform that connects patients with verified medical professionals. The application provides an intuitive interface for patients to search, filter, and book appointments with doctors across various specialties.

โœจ Key Features

For Patients:

  • Doctor Search & Discovery: Advanced search and filtering system
  • Appointment Booking: Easy-to-use appointment scheduling
  • Dashboard: Personal dashboard to manage appointments and profile
  • Multiple View Modes: List and map view for doctor discovery
  • Real-time Filtering: Filter by specialty, location, fees, rating, and experience
  • Responsive Design: Works seamlessly on desktop, tablet, and mobile

For Doctors:

  • Professional Profiles: Comprehensive doctor profiles with verification badges
  • Appointment Management: View and manage patient appointments
  • Document Verification: Upload medical licenses and certificates for verification
  • Clinic Location Management: Set and manage clinic address with Google Maps integration
  • Availability Management: Set available time slots for appointments

General Features:

  • Dual Authentication: Separate login flows for patients and doctors
  • Theme Support: Light (Green) and Dark theme options
  • Verification System: Doctor verification with document upload
  • Google Maps Integration: Location services and directions
  • Real-time Updates: Dynamic filtering and search results
  • Secure Authentication: Role-based access control

๐Ÿ› ๏ธ Technology Stack

  • Frontend Framework: React 18 with TypeScript
  • Styling: Tailwind CSS with custom theme system
  • Icons: Lucide React
  • Build Tool: Vite
  • Development: Hot Module Replacement (HMR)
  • Code Quality: ESLint with TypeScript support
  • Maps: Google Maps integration for clinic locations

๐Ÿ“‹ Prerequisites

Before running this project locally, make sure you have the following installed:

  • Node.js (version 16.0 or higher)
  • npm (comes with Node.js) or yarn
  • A modern web browser (Chrome, Firefox, Safari, Edge)

๐Ÿš€ Getting Started

1. Clone the Repository

git clone <repository-url>
cd healing-hands

2. Install Dependencies

npm install

or if you prefer yarn:

yarn install

3. Start the Development Server

npm run dev

or with yarn:

yarn dev

4. Open in Browser

The application will automatically open in your default browser at:

http://localhost:5173

If it doesn't open automatically, manually navigate to the URL above.

๐Ÿ“ Project Structure

src/
โ”œโ”€โ”€ components/           # Reusable UI components
โ”‚   โ”œโ”€โ”€ AdvancedDoctorFilter.tsx    # Advanced filtering system
โ”‚   โ”œโ”€โ”€ AppointmentModal.tsx        # Appointment booking modal
โ”‚   โ”œโ”€โ”€ AuthModal.tsx               # Authentication modal
โ”‚   โ”œโ”€โ”€ Dashboard.tsx               # Main dashboard component
โ”‚   โ”œโ”€โ”€ DoctorCard.tsx              # Doctor profile card
โ”‚   โ”œโ”€โ”€ DoctorLocationManager.tsx   # Location management
โ”‚   โ”œโ”€โ”€ DoctorSearch.tsx            # Doctor search interface
โ”‚   โ”œโ”€โ”€ DoctorVerification.tsx      # Document verification
โ”‚   โ”œโ”€โ”€ Header.tsx                  # Navigation header
โ”‚   โ”œโ”€โ”€ Hero.tsx                    # Landing page hero section
โ”‚   โ”œโ”€โ”€ MapSearch.tsx               # Map-based doctor search
โ”‚   โ”œโ”€โ”€ PatientDashboard.tsx        # Patient-specific dashboard
โ”‚   โ”œโ”€โ”€ SpecialtyFilter.tsx         # Specialty filtering
โ”‚   โ””โ”€โ”€ ThemeToggle.tsx             # Theme switching component
โ”œโ”€โ”€ context/              # React Context providers
โ”‚   โ”œโ”€โ”€ AuthContext.tsx             # Authentication state management
โ”‚   โ””โ”€โ”€ ThemeContext.tsx            # Theme state management
โ”œโ”€โ”€ data/                 # Mock data and constants
โ”‚   โ””โ”€โ”€ mockData.ts                 # Sample doctors, patients, appointments
โ”œโ”€โ”€ types/                # TypeScript type definitions
โ”‚   โ””โ”€โ”€ index.ts                    # All interface definitions
โ”œโ”€โ”€ App.tsx               # Main application component
โ”œโ”€โ”€ main.tsx              # Application entry point
โ””โ”€โ”€ index.css             # Global styles and theme variables

๐ŸŽจ Available Scripts

  • npm run dev - Start development server with hot reload
  • npm run build - Build the project for production
  • npm run preview - Preview the production build locally
  • npm run lint - Run ESLint to check code quality

๐Ÿ”ง Configuration

Theme Customization

The application supports two themes:

  • Green Theme (default): Light theme with green accents
  • Dark Theme: Dark theme with blue accents

Themes can be switched using the theme toggle in the header.

Environment Setup

The project uses Vite for development and building. Configuration can be found in:

  • vite.config.ts - Vite configuration
  • tailwind.config.js - Tailwind CSS configuration
  • tsconfig.json - TypeScript configuration

๐Ÿ‘ฅ User Roles & Demo Accounts

Patient Account

  • Role: Patient
  • Features: Search doctors, book appointments, manage profile
  • Demo Login: Use any email/password combination with "Patient" role selected

Doctor Account

  • Role: Doctor
  • Features: Manage appointments, upload verification documents, set clinic location
  • Demo Login: Use any email/password combination with "Doctor" role selected

๐Ÿ—บ๏ธ Key Features Guide

For Patients:

  1. Finding Doctors:

    • Use the search bar to find doctors by name, specialty, or location
    • Apply advanced filters for precise results
    • Switch between list and map view
    • Sort results by rating, fees, experience, or name
  2. Booking Appointments:

    • Click "Book Appointment" on any doctor card
    • Select preferred date and time
    • Describe symptoms or reason for visit
    • Confirm appointment details
  3. Managing Appointments:

    • View all appointments in the dashboard
    • Track appointment status (pending, confirmed, completed)
    • Access appointment history

For Doctors:

  1. Profile Management:

    • Complete professional profile with education and experience
    • Upload profile photo and clinic information
    • Set consultation fees and available time slots
  2. Verification Process:

    • Upload medical license and degree certificates
    • Submit specialty certifications
    • Track verification status
  3. Location Management:

    • Set clinic address with Google Maps integration
    • Enable patients to get directions
    • Update location information as needed

๐Ÿ”’ Security Features

  • Role-based Authentication: Separate access levels for patients and doctors
  • Document Verification: Secure upload and verification of medical credentials
  • Data Validation: Input validation and sanitization
  • Secure Storage: Local storage for session management

๐Ÿ“ฑ Responsive Design

The application is fully responsive and optimized for:

  • Desktop: Full-featured experience with advanced filtering
  • Tablet: Optimized layout with touch-friendly controls
  • Mobile: Streamlined interface with essential features

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ†˜ Troubleshooting

Common Issues:

  1. Port Already in Use:

    Error: Port 5173 is already in use

    Solution: Kill the process using the port or use a different port:

    npm run dev -- --port 3000
  2. Node Modules Issues:

    rm -rf node_modules package-lock.json
    npm install
  3. Build Errors:

    npm run lint
    npm run build

Getting Help:

  • Check the browser console for error messages
  • Ensure all dependencies are installed correctly
  • Verify Node.js version compatibility
  • Clear browser cache if experiencing display issues

๐Ÿ”ฎ Future Enhancements

  • Real-time Chat: Patient-doctor communication
  • Notification System: Email and SMS notifications
  • Telemedicine: Video consultation capabilities
  • Electronic Health Records: Patient health history management
  • Multi-language Support: Internationalization
  • Advanced Analytics: Reporting and insights dashboard

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages