Skip to content

Satyacmd69/Prescripto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🏥 Full Stack Doctor Appointment Booking App

📋 Table of Contents:-

• Introduction

• Features

• Tech Stack

• Installation

• Usage

• API Endpoints

• Payment Gateway Integration

• Contributing

• License

• Contact

💡 Introduction:-

The Full Stack Doctor Appointment Booking App is a robust web application that enables patients to book doctor appointments effortlessly. Doctors can manage their schedules, and patients can check availability, book appointments, make payments, and receive reminders. This project is an example of a full-stack application leveraging modern web technologies for seamless functionality.

🎯 Features:-

✨ User Authentication (Patients & Doctors)

✨ Doctor Profile Management

✨ Search and Book Appointments based on doctor availability

✨ Real-time Notifications (Email/SMS) for booking confirmation and reminders

✨ Admin Dashboard for managing users, doctors, and appointments

✨ Payment Gateway Integration for secure payments

✨ Mobile-Responsive for use on various devices

🛠️ Tech Stack

• Frontend:- React.js, HTML5, CSS3, JavaScript, Vite, Bootstrap / Tailwind CSS

• Backend:- Node.js with Express.js, MongoDB / MySQL (Database), JWT for secure user authentication

• Payment Integration:- RazorPay,Stripe or PayPal for handling payments

• Other Technologies: Docker for containerization (optional), Redis for caching (optional), Twilio API for notifications,

⚙️ Installation Prerequisites:

Node.js, MongoDB (or another database), Stripe / PayPal Account for payments, Git

Steps to Run Locally:

  1. Clone the repository:

bash Copy code git clone https://github.com/Satyacmd69/Prescripto.git cd full-stack-doctor-appointment-app

2.Install dependencies:

bash Copy code npm install cd client npm install

3.Set up environment variables:

Create a .env file in the root directory and add your MongoDB URI, JWT secret, and Stripe/PayPal keys.

MONGO_URI=your_mongo_db_uri

JWT_SECRET=your_jwt_secret

STRIPE_SECRET_KEY=your_stripe_secret_key

PAYPAL_CLIENT_ID=your_paypal_client_id

TWILIO_SID=your_twilio_sid

TWILIO_AUTH_TOKEN=your_twilio_auth_token

4.Run the server:

bash Copy code npm run dev

5.Run the frontend:

bash Copy code cd client npm start

6.Access the app: The app will run at http://localhost:5173.

🚀 Usage:- Sign Up as a patient or doctor.

Login to your account to manage appointments.

Book an Appointment with a doctor based on their availability.

Make Payments using the integrated payment gateway (Stripe or PayPal).

Manage Appointments in the doctor's dashboard.

Admin Panel: Manage users, doctors, and appointments.

🛡️ API Endpoints • Authentication:

POST /api/auth/register : Register a new user.

POST /api/auth/login : Log in an existing user.

• Doctors:

GET /api/doctors : Get a list of all doctors.

GET /api/doctors/:id : Get details of a specific doctor.

• Appointments:

POST /api/appointments : Create a new appointment.

GET /api/appointments : Get all appointments for the logged-in user.

• Payments:

POST /api/payments/charge : Process a payment for an appointment.

• Admin:

GET /api/admin/users : Retrieve all users.

DELETE /api/admin/users/:id : Delete a specific user.

💳 Payment Gateway Integration

This app integrates with Stripe or PayPal to process payments securely.

• Payment Flow:

Patients select a doctor and schedule an appointment.

They are prompted to make a secure payment through the chosen payment gateway.

After successful payment, the appointment is confirmed, and notifications are sent.

Setting Up Payment Gateway:

Create an account with Stripe or PayPal.

Add your API keys to the .env file.

Ensure that the payment route (/api/payments/charge) is properly configured.

🤝 Contributing

We welcome contributions! To get started:

Fork the project:-

• Create a new feature branch: bash Copy code git checkout -b feature-branch-name

• Commit your changes: bash Copy code git commit -m "Added new feature"

• Push to the branch: bash Copy code git push origin feature-branch-name Open a Pull Request.

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

📧 Contact For any questions, please reach out to:

Email: saisatyabrata952@gmail.com

LinkedIn: Sai Satyabrata

About

Full Stack Appointment Booking App

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published