Inspiration

We wanted to make it easy for people to book doctor appointments online. Many people have trouble finding doctors and booking appointments. We thought, why not make a simple website where people can find doctors and book appointments easily?

What it does

Prescripto is a website where: For Patients: People can sign up and login to their account They can see a list of doctors with different specialities (like heart doctor, skin doctor, etc.) They can book appointments with doctors by choosing a date and time They can see their appointment history and cancel appointments They can update their profile information For Doctors: Doctors can create their profile with their speciality, experience, and fees They can see which appointments are booked with them They can manage their availability

How we built it

Frontend (What users see):

React:

We used React to build the website pages

Tailwind CSS:

For making the website look good and work on phones

React Router:

To move between different pages

Axios:

To send data between frontend and backend

Main Pages We Built:

Home page with doctor list Doctor detail page Login and signup pages Appointment booking page User profile page My appointments page Email verification page (for new users to verify their email)

Important Components:

Email verification component - helps new users verify their email address after signing up Navigation bar - helps users move around the website Doctor cards - shows doctor information in a nice format Appointment form - where users can book appointments Profile forms - where users can update their information

Backend (Server side):

Next.js:

We used Next.js to build the server

MongoDB-Atlas:

To store all the data (users, doctors, appointments)

JWT:

For keeping users logged in safely

Cloudinary:

To store doctor profile pictures

Main Features We Built:

User registration and login Doctor profile management Appointment booking system Email verification for new users Password reset functionality

Challenges we ran into

Booking System:

It was hard to make sure two people don't book the same time slot. We fixed this by checking the database before booking.

User Login:

Making sure only real users can login was tricky. We used JWT tokens to solve this.

Image Upload:

Doctors needed to upload their photos. We used Cloudinary to store images safely.

Database:

Making the database fast when many people use it was challenging. We added indexes to make searches faster.

Accomplishments that we're proud of

Complete Website:

We built a full website that actually works

User Friendly:

The website is easy to use on phones and computers

Safe:

User data is protected with proper authentication

Fast:

The website loads quickly and works smoothly

Real Booking:

People can actually book real appointments

What we learned

React: How to build modern websites with React

Next.js:

How to build server-side applications

MongoDB-Atlas:

How to store and manage data in a database

Authentication:

How to keep user accounts safe

API Development:

How to build APIs that frontend can use

Responsive Design:

How to make websites work on all devices

What's next for Prescripto – Secure Doctor Booking & Health Management

Video Calls:

Add video calling between doctors and patients

Online Payment:

Let people pay for appointments online

SMS Notifications:

Send reminders about appointments

More Specialities:

Add more types of doctors

Mobile App:

Make a phone app for easier access

Prescriptions:

Let doctors write digital prescriptions

Health Records:

Store patient health information safely

Built With

  • mongodb-atlas
  • next.tsx
  • nodemailer
  • react
  • react-toastify
  • tailwindcss
  • typescript
  • vite
Share this project:

Updates