Skip to content

smRid/Doctors-Appointment-Platform

Repository files navigation

🩺 MediMeet - Scalable Doctor Appointment Platform

MediMeet is a modern, scalable doctor appointment platform built using Next.js, Tailwind CSS, Clerk, Prisma, and shadcn/ui. It delivers a seamless experience for Admins, Doctors, and Patients, each with tailored role-based interfaces, dynamic scheduling, and secure authentication.

MediMeet also features integrated video consultations powered by Vonage (OpenTok), enabling real-time, in-browser video calling between doctors and patients - all within a clean, responsive interface.


🖼️ Preview

MediMeet Dashboard Preview


🔗 Live Demo : View Live Demo


🚀 Features

  • 🔐 Authentication via Clerk with protected routes and role-based redirects
  • 🧑‍⚕️ User Roles: Admin, Doctor and Patient with specific dashboards and permissions
  • 📅 Appointment Management for patients and doctors
  • 🧭 Dynamic Navigation based on user role and auth state
  • 🧩 Reusable Components with responsive design and dark theme
  • ⚙️ Admin Tools to verify doctors and manage system status
  • 🛠️ Custom Onboarding Flow and verification process
  • 💳 Subscription Flow with Clerk checkout and credit allocation
  • Form validation using Zod
  • 📞 Vonage Video Calling Integration

🧩 Tech Stack

🧑‍💻 Client

⚙️ Server

Database


🗂 Project ER Diagram

The following Entity-Relationship (ER) diagram outlines the core database relationships in MediMeet:

ER Diagram


To get started follow these steps:

Cloning the Repository

Using CLI

git clone https://github.com/smRid/Doctors-Appointment-Platform

**Ensure you have installed Git on your machine.

or using GitHub:

  • Go to the project repository on my GitHub page
  • Click on the green button on the top 👆
  • Click Download ZIP

⚙️ Installation

Setup .env file

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=

NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/onboarding 
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/onboarding 

DATABASE_URL=

NEXT_PUBLIC_VONAGE_APPLICATION_ID=
VONAGE_PRIVATE_KEY=

Install the project dependencies using npm:

Build the app

npm install

**Ensure you have installed NodeJS on your machine.

Generate the Prisma client and apply initial migrations

npx prisma generate
npx prisma migrate dev --name init

Start the app

npm run dev

**Navigate to http://localhost:3000 in your browser to access the local development server.

About

Fullstack Doctor Appointment Platform

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors