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.
🔗 Live Demo : View Live Demo
- 🔐 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
- Next.js
- Tailwind CSS
- Clerk – Authentication & user management
- Lucide Icons – Icon library
- Sonner (Toast Notifications) – User feedback and alerts
- Node.js
- Prisma – ORM for PostgreSQL
- Next.js API Routes
- Zod – Schema validation
- Vonage Video API (OpenTok) – Real-time video consultations
- NEON PostgreSQL – Scalable, serverless PostgreSQL for modern apps
The following Entity-Relationship (ER) diagram outlines the core database relationships in MediMeet:
To get started follow these steps:
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
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:
npm install**Ensure you have installed NodeJS on your machine.
npx prisma generate
npx prisma migrate dev --name initnpm run dev**Navigate to http://localhost:3000 in your browser to access the local development server.

