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.
- User registration and login
- Appointment booking and management
- Requests Management for secretaries
- Node.js v14.x or later
- MongoDB
-
Clone the repository:
git clone https://github.com/Josh012006/Appointment-App.git
-
Install the dependencies:
npm install
-
Set up environment variables: Create a
.env.local
file in the root of your project and add the following variables: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'
-
Run the development server:
npm run dev
Open http://localhost:3000 with your browser to see the result.
Each user has a calendar to keep track of its planned appointments or consultations.
- Patients can book appointments with doctors.
- Doctors' secretaries can manage the requests.
- The Doctors can see the planned consultations and the patient's infos.
- User authentication is handled using cookies with the
js-cookie
library.
- 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)
- Fork the repository
- Create a new branch (
git checkout -b feature/your-feature
) - Make your changes
- Commit your changes (
git commit -m 'Add some feature'
) - Push to the branch (
git push origin feature/your-feature
) - Create a new Pull Request
- 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
You can see the final product on https://health-appointment.vercel.app/
Hope you enjoy! And give a star 🌟💫 to the repository if possible!