Prescripto
Prescripto
Submitted By
SHUBH A PATEL (235300694041)
DIXIT J PATEL (235300694037)
Internal Guide
PROF.PAYAL CHAUHAN
Project work has been the most practical and exciting part of my learning experience during
the MCA program, and I believe it will be an asset in shaping my future career.
No system is created entirely by an individual, and this project is no exception. I am sincerely
grateful to everyone who supported me throughout this journey. Their contributions have been
truly invaluable.
The proper organization of concepts and systematic analysis of the system were made possible
due to the keen interest and constant support from my teachers and colleagues.
I express my heartfelt gratitude to Prof. Jonita Ma’am, Head of the Department of Computer
Science at SVIT-VASAD, whose continuous inspiration and encouragement have been a
guiding force—not only during this project but throughout the academic year.
I extend my most sincere thanks to my internal guide, Prof. Payal Ma’am, for her kind
cooperation, continuous motivation, and unwavering guidance at every stage of the project.
I would also like to thank my external guide, Deep Kansara Sir, from Jinarth Infotech,
Anand, for his valuable insights, expert advice, and consistent support throughout the
development of this system.
Abstract
In today’s fast-paced digital world, the need for efficient and user-friendly healthcare systems
has become increasingly important. This project, titled "Doctor Appointment Booking
System," aims to bridge the gap between patients and healthcare providers by offering a
streamlined, accessible, and convenient platform for scheduling medical appointments.
The system allows users to browse available doctors, view their specialties, check appointment
slots, and book consultations with ease. It also enables doctors to manage their availability,
appointments, and patient information effectively. Key features of the application include user
registration, doctor profiles, appointment booking and an intuitive user interface.
Developed as part of the MCA Semester 4 curriculum at SVIT-VSAD, this project
demonstrates practical application of software development principles, database management,
and user-centric design. The system aims to reduce waiting times, improve appointment
accuracy, and enhance the overall patient experience by digitizing the traditional process of
booking doctor appointments.
No INDEX PAGE NO
1. Introduction 01
3 System Design 13
4 Development 24
4.2 Screenshot 31
5 Agile Documentation 47
1.INTRODUCTION
The Prescripto System is an application that enables patients to book, schedule, and manage
their doctor appointments conveniently online. With the rise of telemedicine and digital
healthcare services, having a streamlined, user-friendly platform for managing appointments
has become a necessity.
This system is designed to help healthcare providers, doctors, and patients manage
appointments efficiently, reducing administrative burdens and enhancing the patient
experience.
The system is developed using the MERN stack, which includes MongoDB, Express.js, React,
and Node.js. This technology stack provides a robust, scalable, and efficient platform for
building modern web applications.
1
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
❖ It offers a suite of features to assist doctors and clinics in managing their schedules
efficiently.
2
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
❖ Healthcare providers need a system to manage their profiles, services, availability, and
patient appointments, including tracking appointment history.
❖ The platform allows patients to book consultations with a wide range of doctors and
specialists with just a few clicks.
❖ Timesaving: By offering online appointment scheduling, the system saves patients the
time and effort required to visit clinics for booking.
❖ A new doctor appointment booking system is essential to meet the evolving needs of
patients and the increasing complexity of healthcare services.
3
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
❖ Access: Ensure seamless access across various devices, including desktops, tablets, and
smartphones.3
❖ Real-Time Updates: Implement a reliable system that enables patients to track their
appointment status, receive timely reminders, and get real-time updates on doctor
availability.
❖ Secure Transactions: Ensure the highest standards of security for patient data and
payment processing.
❖ Performance: Ensure the platform performs efficiently under varying loads, providing
a seamless experience for all users.
4
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
❖ Long Waiting Times: Patients often struggle to get timely appointments due to limited
slots and inefficient scheduling.
❖ Slow or Crashes: The system may not handle too many bookings at once, causing
delays.
❖ Wrong Availability: Sometimes, patients book a time slot that is no longer available,
causing delays.
5
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
Patient Components
➢ Register
➢ Login
➢ Home page
➢ Appointment Scheduling
➢ Payment
➢ About
➢ Contacts
Admin Components
➢ User Management
➢ Appointment Management
➢ Doctor & Clinic Management
➢ Payment Management
➢ Security
Doctor Component
➢ Profile Management
➢ Appointment Management
➢ Payment Management
➢ Security
6
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
7
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
8
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
Advantages
9
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
LIMITATIONS
10
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
11
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
1. Patients
➢ Individuals seeking medical consultations.
2. Doctors
➢ Healthcare professionals manage their schedules and patient appointments.
3. Hospitals & Clinics
➢ Manage multiple doctors and appointment slots.
4.Busy Professionals
➢ Working individuals who need quick and hassle-free appointment booking.
12
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
13
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
14
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
15
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
16
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
17
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
INTRACTION DIAGRAM
18
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
19
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
20
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
DOCTOR TABLE
Sr . No Field Data Type Constraints Description
21
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
22
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
DOCTOR_TABLE
23
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
4.DEVLOPMENT
if (data.success) {
localStorage.setItem('token', data.token)
24
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
setToken(data.token)
} else {
toast.error(data.message)
}
} else {
if (data.success) {
localStorage.setItem('token', data.token)
setToken(data.token)
} else {
toast.error(data.message)
}
useEffect(() => {
if (token) {
navigate('/')
}
}, [token])
return (
<form onSubmit={onSubmitHandler} className='min-h-[80vh] flex items-center'>
<div className='flex flex-col gap-3 m-auto items-start p-8 min-w-[340px] sm:min-w-96
border rounded-xl text-[#5E5E5E] text-sm shadow-lg'>
<p className='text-2xl font-semibold'>{state === 'Sign Up' ? 'Create Account' :
'Login'}</p>
25
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
<p>Please {state === 'Sign Up' ? 'sign up' : 'log in'} to book appointment</p>
{state === 'Sign Up'
? <div className='w-full '>
<p>Full Name</p>
<input onChange={(e) => setName(e.target.value)} value={name}
className='border border-[#DADADA] rounded w-full p-2 mt-1' type="text" required />
</div>
: null
}
<div className='w-full '>
<p>Email</p>
<input onChange={(e) => setEmail(e.target.value)} value={email} className='border
border-[#DADADA] rounded w-full p-2 mt-1' type="email" required />
</div>
<div className='w-full '>
<p>Password</p>
<input onChange={(e) => setPassword(e.target.value)} value={password}
className='border border-[#DADADA] rounded w-full p-2 mt-1' type="password" required
/>
</div>
<button className='bg-primary text-white w-full py-2 my-2 rounded-md text-
base'>{state === 'Sign Up' ? 'Create account' : 'Login'}</button>
{state === 'Sign Up'
? <p>Already have an account? <span onClick={() => setState('Login')}
className='text-primary underline cursor-pointer'>Login here</span></p>
: <p>Create an new account? <span onClick={() => setState('Sign Up')}
className='text-primary underline cursor-pointer'>Click here</span></p>
}
</div>
</form>
)
}
26
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
useEffect(() => {
if (aToken) {
getDashData()
}
}, [aToken])
27
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
<div className='flex items-center gap-2 bg-white p-4 min-w-52 rounded border-2 border-
gray-100 cursor-pointer hover:scale-105 transition-all'>
<img className='w-14' src={assets.appointments_icon} alt="" />
<div>
<p className='text-xl font-semibold text-gray-600'>{dashData.appointments}</p>
<p className='text-gray-400'>Appointments</p>
</div>
</div>
<div className='flex items-center gap-2 bg-white p-4 min-w-52 rounded border-2
border-gray-100 cursor-pointer hover:scale-105 transition-all'>
<img className='w-14' src={assets.patients_icon} alt="" />
<div>
<p className='text-xl font-semibold text-gray-600'>{dashData.patients}</p>
<p className='text-gray-400'>Patients</p></div>
</div>
</div>
<div className='bg-white'>
<div className='flex items-center gap-2.5 px-4 py-4 mt-10 rounded-t border'>
<img src={assets.list_icon} alt="" />
<p className='font-semibold'>Latest Bookings</p>
</div>
28
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
</div>
)
}
29
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
MONGODB CODE:
CURRENCY = "INR"
JWT_SECRET="shubhs"
30
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
4.2 SCREENSHOT
Home Page
(Home Page)
❖ The homepage of the doctor appointment booking app allows users to easily search
and book appointments with doctors.
❖ features a simple interface with options to choose specialty, date, and nearby clinics
or hospitals.
31
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
Login Page
❖ The login page of the doctor appointment booking app enables users to securely
access their accounts using their registered email and password.
32
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
Register Page
❖ The registration page of the doctor appointment booking app allows new users to create
an account by entering basic details such as name, email and password. It ensures a
quick and user-friendly sign-up process to access all app features.
33
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
❖ The doctor page displays detailed profiles of available doctors, including their
specialization. Users can view doctor availability and book appointments directly from
this page.
34
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
❖ The book appointment page allows users to select a doctor, choose a preferred date and
time, and confirm their appointment. It provides real-time availability and a simple,
step-by-step booking process for user convenience.
35
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
My Appointment Page
❖ The "My Appointments" page in the doctor appointment booking app provides a clear
summary of all your upcoming and past appointments. It includes details like the
doctor's name, specialization, address, appointment date and time, and options for
payment or cancellation. Cancelled appointments are marked clearly for easy reference.
36
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
Payment Page
❖ The Payment Page in the doctor appointment booking app allows users to securely
complete their appointment fee payment. It supports multiple payment options like
cards and Link, showing the total fee upfront. Users enter their email, card details, and
name, with an option to save payment info for faster future checkouts.
37
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
About Page
❖ The About Page of the doctor appointment booking app provides an overview of the
platform's mission to simplify healthcare access. It highlights features such as easy
doctor discovery, hassle-free appointment booking, secure payments, and a user-
friendly interface designed to connect patients with trusted medical professionals.
38
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
Contact Us
❖ The Contact Page of the doctor appointment booking app offers users a way to get in
touch for support.
39
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
❖ Secure access for doctors to manage appointments, view patient details, and update
profiles.
❖ Login with your registered email and password to access your personalized dashboard.
40
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
❖ Stay on top of your practice with a clean, intuitive dashboard showing real-time
earnings, appointments, and patients.
❖ Easily manage bookings and keep track of upcoming consultations all in one place.
41
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
❖ View and manage your professional profile including specialty, experience, fees, and
availability.
❖ Easily update your details and upload certifications to keep your credentials up to
date.
42
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
❖ Securely sign in to manage doctors, appointments, and system settings from one
centralized panel.
❖ Admins can oversee platform activity and access backend tools with authorized
credentials.
43
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
44
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
❖ The Admin Add Doctor page allows administrators to register new doctors by entering
their personal, professional, and clinic details. It ensures seamless onboarding for
healthcare providers into the system.
45
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
❖ The Admin Doctor List page displays a comprehensive list of all registered doctors with
their specialties, experience, and availability. Admins can view, edit, or remove doctor
profiles easily from this interface.
46
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
Project Charter
Business Need
Financials
Not Applicable
47
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
Milestone Schedule
Project Team
48
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
• Sequence diagram
prepare data dictionary.
We implement the crude operation of the We integrate all modules and tested
project, tested the module and overall system; whatever changes
documentation is prepared side by side. happen are incorporated also
documentation is made side by side.
FINAL QUARTER
49
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
50
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
51
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
➢ The Agile Release Plan Outlines the goal, Features, sprint schedule, task, team,
metrices, success, criteria, risks, and mitigation strategies of the Material Hub.
52
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
53
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
54
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
55
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
56
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
• Earned Value (EV) represents the value of the work completed at a specific
point in time. It is calculated based on the Planned Value (PV) and the Actual
Value (AV) of the work completed. The formula to Calculate EV is:
For Sprint 1:
EVsprint1=84*100=94
80
For Sprint 2:
EVsprint2=80 *100=107
78
For Sprint 3:
EVsprint3=194 *100=97
191
For Sprint 4:
EVsprint4=115 *100=95
120
57
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
2) Burn Chart:
• Connecting these Points on the graph will give us a visual representation of the
cumulative progress of earned hours over the sprints.
500
Cumulative Earned Hour
450
400
350
300
250
200
150
100
50
0
Sprint 1 Sprint 2 Sprint 3 Sprint 4
58
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
6.PROPOSED ENHANCEMENTS
➢ Appointment Reminders
Send messages to patients to remind them about their upcoming appointments.
➢ Online Payment
Let patients pay the doctor’s fees through the app using UPI, card, etc.
59
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
7.CONCLUSION
➢ The doctor appointment booking system has changed how patients access healthcare,
offering convenience and quick access to medical services with just a few clicks.
➢ This system uses modern technology to improve the user experience through features
like real-time appointment tracking and smooth scheduling.
➢ It saves patients time, reduces waiting lines, and provides access to a wide range of
doctors and specialists.
60
Shubh Patel 235300694041 Dixit Patel 235300694037
PRESCRIPTO (DOCTOR APPOINTMENT BOOKING)
8.BIBLIOGRAPHY
61
Shubh Patel 235300694041 Dixit Patel 235300694037