Skip to content

Back-end server designed to help medical professionals and patients' medical life, including appointments, EMRs, and medicine reminders, symptoms diagnosis. It provides a secure, centralized platform for patients and healthcare providers to collaborate and share information, improving the quality of care provided.

Notifications You must be signed in to change notification settings

Shehab1110/Healthify

Repository files navigation

Healthify

Node.js badge Express badge MongoDB badge

Healthify is a Back-end server designed to help medical professionals and patients' medical life, including appointments, EMRs, and medicine reminders, symptoms diagnosis. It provides a secure, centralized platform for patients and healthcare providers to collaborate and share information, improving the quality of care provided.

🚀 Getting Started

To run this project locally, you need to have Node.js and MongoDB installed on your machine.

Prerequisites

  • Node.js
  • MongoDB
  • NPM or Yarn

Installation

  1. Clone this repo to your local machine using git clone https://github.com/<your-username>/healthify.git.
  2. Go to the project directory using cd Healthify.
  3. Install the dependencies using npm install or yarn install.
  4. Create a .env file in the root folder and add the following environment variables:

NODE_ENV=development PORT=3000 DATABASE=<your-mongodb-connection-string> DATABASE_PASSWORD=<your-mongodb-password> JWT_SECRET=<your-jwt-secret> JWT_EXPIRES_IN=90d JWT_COOKIE_EXPIRES_IN=90 EMAIL_USERNAME=<your-email-username> EMAIL_PASSWORD=<your-email-password> EMAIL_HOST=<your-email-host> EMAIL_PORT=<your-email-port> EMAIL_FROM=<your-email-address> STRIPE_SECRET_KEY=<your-stripe-secret-key>

Run the app using npm start or yarn start.
Open your browser and go to http://localhost:3000.

✨ Features

User registration and login with JWT authentication
Password reset with email verification
User profile update and deletion
User roles and permissions
Searching for nearest doctors by specialty and/or name
Scheduling appointments and cancelling appointments
Online payment using stripe
Accessing patient EMR
Create, Read, Update operations on patient's EMR by doctor with right permissions
Ratings and reviews of a doctor with validations in place
Calculating BMI
CRUD operations on Medicine Reminders for patient
Communication between patient and doctor
Error handling and logging

🛠️ Technologies

Node.js
Express
MongoDB
Mongoose
Stripe
Sendgrid
Helmet
Morgan
Bcrypt
Validator
JWT
Multer
express-rate-limit
express-mongo-sanitize
xss-clean

🚧 Project Status

This project is actively being developed and maintained, continuously adding new features and improving existing functionality. As such, there is always work to be done.

About

Back-end server designed to help medical professionals and patients' medical life, including appointments, EMRs, and medicine reminders, symptoms diagnosis. It provides a secure, centralized platform for patients and healthcare providers to collaborate and share information, improving the quality of care provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published