Prescripto is a full-stack web application that allows patients to book appointments with doctors, doctors to manage their schedules, and admins to oversee the platform. Built using the MERN stack, it simplifies and streamlines the medical appointment process.
- Register and log in to the platform
- Search for doctors based on specialization
- View doctor profiles along with availability
- Book appointments with selected doctors
- Cancel upcoming appointments if needed
- View status and history of all appointments
- Make payments securely via Stripe and Razorpay
- Log in to the platform
- Set and update their availability
- View appointment requests from patients
- Approve or reject appointments
- Manage confirmed appointments
- Cancel or approve existing appointments
- View dashboard with total income, appointments, and patient count
- Log in to a secure admin dashboard
- View the list of all registered doctors
- Add new doctor profiles manually
- Monitor and manage all appointment data
- Control user access and manage platform statistics
- Cancel any doctorβs appointment if necessary
- Set and update doctorsβ availability
- View total counts of doctors, appointments, and patients
Frontend - React.js, Tailwind CSS, Toastify, Axios
Backend - Node.js, Express.js
Authentication & Security - JWT (JSON Web Token), Bcrypt.js
Database - MongoDB
Storage - Cloudinary (for image/file upload)
Payment Integration - Stripe, Razorpay
Make sure you have the following installed:
- Node.js β for running the backend server
- MongoDB β as the database
- Stripe account β for payment integration
- Razorpay account β for additional payment gateway support
First, clone the repository to your local machine:
git clone https://github.com/AsmitaMishra24/prescripto-appointment-booking-system.git
cd prescripto-appointment-booking-systemNavigate to the backend folder and install the required dependencies:
cd backend
npm installCreate a .env file in the backend folder with the following configuration:
# General Config
PORT=5000
NODE_ENV=development
CURRENCY=INR
JWT_SECRET=your_jwt_secret_key
# Admin Panel Credentials
ADMIN_EMAIL=admin@example.com
ADMIN_PASSWORD=greatstack123
# MongoDB Setup
MONGODB_URI=your_mongodb_connection_string
# Cloudinary Setup
CLOUDINARY_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_SECRET_KEY=your_cloudinary_secret_key
# Razorpay Payment Integration
RAZORPAY_KEY_ID=your_razorpay_key_id
RAZORPAY_KEY_SECRET=your_razorpay_secret_key
# Stripe Payment Integration
STRIPE_SECRET_KEY=your_stripe_secret_key
# App URLs (optional but helpful)
FRONTEND_URL=http://localhost:5173
ADMIN_URL=http://localhost:5174
Start the backend server:
npm run serverThis will start the server on http://localhost:4000.
Open another terminal, navigate to the frontend folder, and install the required dependencies:
cd frontend
npm installCreate a .env file in the frontend folder:
VITE_BACKEND_URL=http://localhost:4000
VITE_RAZORPAY_KEY_ID=your_razorpay_key_idStart the frontend:
npm run devThis will start the frontend on http://localhost:5173.
Open another terminal, navigate to the admin folder, and install the required dependencies:
cd admin
npm installCreate a .env file in the admin folder:
VITE_CURRENCY=βΉ
VITE_BACKEND_URL=http://localhost:4000Start the admin panel:
npm run devThis will start the admin panel on http://localhost:5174.
Backend: http://localhost:4000
Frontend: http://localhost:5173
Admin Panel: http://localhost:5174
- Ensure that the
.envvariables are correctly configured in thebackendfolder. - Make sure MongoDB, Stripe, and Razorpay services are active and properly connected.
This project was developed by - Asmita Mishra
For any questions or feedback, feel free to reach out at:
- GitHub: AsmitaMishra
- LinkedIn: Asmita Mishra































