Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/josh012006/appointment-app

A Next.js fullstack MERN app. A web app where patients can reserve medical consultations.
https://github.com/josh012006/appointment-app

mongodb mongoose nextjs reactjs

Last synced: 28 days ago
JSON representation

A Next.js fullstack MERN app. A web app where patients can reserve medical consultations.

Awesome Lists containing this project

README

        

# Health Appointment

Health Appointment is a web application designed to facilitate booking medical appointments in Dakar. This project is built using Next.js and MongoDB, with features for both patients, secretaries and doctors.

The app is done using information of Senegalese hospitals and characters.

## Table of Contents
- [Preview](#preview)
- [Features](#features)
- [Getting Started](#getting-started)
- [Usage](#usage)
- [Authentication](#authentication)
- [Technologies Used](#technologies-used)
- [Contributing](#contributing)
- [Deployment](#deployment)

## Preview
preview1
preview2
preview3
preview4

## Features
- User registration and login
- Appointment booking and management
- Requests Management for secretaries

## Getting Started

### Prerequisites
- Node.js v14.x or later
- MongoDB

### Installation
1. Clone the repository:
```bash
git clone https://github.com/Josh012006/Appointment-App.git
```

2. Install the dependencies:
```bash
npm install
```

3. Set up environment variables:
Create a `.env.local` file in the root of your project and add the following variables:
```bash
EMAIL_USER=your_email
EMAIL_PASSWORD=your_email_password_for_nodemailer_see_https://www.youtube.com/watch?v=QDIOBsMBEI0&t=707s
MONGO_URI=your_mongo_uri
NEXT_PUBLIC_DISTANCE_MATRIX_API_KEY=your_distance_matrix_api_from_https://distancematrix.ai/
NEXT_PUBLIC_API_URL='http://localhost:3000'
```

4. Run the development server:
```bash
npm run dev
```

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.

## Usage

### Keeping track of appointments and consultations
Each user has a calendar to keep track of its planned appointments or consultations.

### Booking Appointments
- Patients can book appointments with doctors.
- Doctors' secretaries can manage the requests.
- The Doctors can see the planned consultations and the patient's infos.

## Authentication

### Cookie-based Authentication
- User authentication is handled using cookies with the `js-cookie` library.

## Technologies Used
- Next.js
- MongoDB
- Tailwind CSS
- Mongoose
- Nodemailer (for sending emails)
- bcrypt (for encrypting passwords)
- Redux Toolkit (for managing global state of the app)
- js-cookie (for handling cookies)

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

## Possible Improvements
- More robust authentication
- Financing options
- Online consultations
- Security
- Rescheduling and Refunding
- Considering the target population (language and communication means)
- Keeping medical records in the database
- Integrating the possibility for the patient to see the availability of the doctor

## Deployment
You can see the final product on https://health-appointment.vercel.app/

Hope you enjoy! And give a star 🌟💫 to the repository if possible!