This project encompasses a web-based appointment scheduling system featuring user authentication and management functionalities. Tailored for both patients and doctors, the system offers a secure and user-friendly platform dedicated to scheduling and overseeing medical appointments. The backend is developed using Node.js.
-
Implement user authentication for both patients and doctors, allowing secure registration and login functionalities.
-
Develop a secure user registration and authentication system to ensure the integrity and privacy of user accounts.
-
Enable doctors to set their schedules by inserting time slots based on their availability.
-
Allow patients to select a doctor, view the available time slots, and choose a suitable appointment slot.
-
Enable patients to update their appointments by changing the assigned doctor or the selected new time slot.
-
Provide doctors with the ability to view appointments with statuses such as "ReservationCreated," "ReservationUpdated," or "ReservationCancelled."
-
Implement email notifications to notify doctors about appointments using Nodemailer and the RabbitMQ messaging feature within the application.
-
Provide patients with the option to cancel their appointments if needed.
-
Enable patients to view a list of all their reservations for better appointment management.
To run this project
npm i init
node index.js
To run docker files
using bash script:
./run_services.bat
using docker-compose:
- create and start containers
docker-compose up
- to stop and delete containers
docker-compose down
- to stop containers
docker-compose stop
To run this project, you will need to add the following environment variables to your .env file
PORT
DB_HOST
DB_USERNAME
DB_PASSWORD
DB_DBNAME
salt_round
BEARER_KEY
page_limit
gmail
EMAIL_PASSWORD
https://documenter.getpostman.com/view/25070384/2s9YkjCj2V
- Using SQL db .
- Deployment using vercel and render.
- Docker to encapsulate and containerize our entire application stack, encompassing the backend, database, and frontend components.
- K8s allows to streamline the deployment, scaling, manage and operation of application containers.
- Openshift To expose routes and facilitate external access for end-users.
- Develpoer profile who develop FrontEnd AmrMustafa
- Repository for FrontEnd REPO