Skip to content

katiyarsonu/Medimate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Medimate : Healthcare Appointment Solution 🏥

Demo Image

Table of Contents

  1. Introduction
  2. Technologies Used
  3. Features
  4. Backend Development
  5. Database Design
  6. Frontend Development
  7. Installation Instructions
  8. Usage
  9. Demo
  10. Contributing
  11. License

Introduction 📖

The Healthcare Appointment Solution (Medimate) is a full-stack web application designed to streamline the appointment booking process between patients and healthcare providers. This project focuses on providing a secure, efficient, and user-friendly experience for managing appointments, patient records, and doctor profiles.

Technologies Used 🛠️

  • Backend: Node.js, Express.js
  • Database: MongoDB
  • Frontend: React, Redux
  • Authentication: JSON Web Tokens (JWT)
  • Styling: CSS, Bootstrap

Features ✨

  • User Authentication: Secure login system using JWT for patient and doctor profiles.
  • Appointment Management: Users can book, reschedule, and cancel appointments.
  • Patient Records: Comprehensive management of patient records with search and filter capabilities.
  • Responsive UI: Intuitive React interfaces that adapt to various devices.
  • Notifications & Feedback: Users can receive notifications and provide feedback on their experiences.

Backend Development 🔙

The backend of the application is built using Node.js and Express. It serves as the central point for managing user authentication, scheduling appointments, and retrieving data.

Key Components:

  • JWT Authentication: Ensures secure user login and session management.
  • API Endpoints: RESTful API endpoints for handling user requests related to appointments and profiles.

Database Design 📊

The database is designed using MongoDB to manage patient records and appointment schedules effectively.

Schema Design:

  • User Schema:

    • username: String
    • password: String (hashed)
    • role: Enum (patient, doctor)
  • Appointment Schema:

    • patientId: Reference to User
    • doctorId: Reference to User
    • date: Date
    • time: String
    • status: Enum (booked, rescheduled, cancelled)

Frontend Development 🎨

The frontend is developed using React, leveraging Redux for efficient state management. The application features a responsive design to enhance user experience.

Key Components:

  • Appointment Booking Interface: Users can easily book and manage appointments.
  • Doctor Profile Display: Provides detailed information about doctors, including specialties and availability.
  • Notification System: Users receive alerts for appointment confirmations and reminders.

Installation Instructions ⚙️

To set up the project locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/yourusername/healthcare-appointment-system.git
    cd healthcare-appointment-system
  2. Install backend dependencies:

    cd backend
    npm install
  3. Install frontend dependencies:

    cd frontend
    npm install
  4. Set up environment variables: Create a .env file in the backend directory and add your MongoDB URI and JWT secret.

  5. Run the application:

    • Start the backend:
      cd backend
      npm start
    • Start the frontend:
      cd frontend
      npm start

Usage 🚀

Once the application is running, you can access it through your browser. Users can register, log in, and start booking appointments with healthcare providers.

Demo 🎥

Demo Image

Contributing 🤝

We welcome contributions! Please follow these steps:

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

License 📄

This project is licensed under the MIT License. See the LICENSE file for more details.


Thank you for checking out the Healthcare Appointment System! We hope it simplifies your healthcare scheduling experience! 🌟