Ivory is a modern, intuitive web application designed for dental practices to streamline appointment booking and management. Patients can book appointments quickly, receive email confirmations, and keep track of their dental care, while admins can manage doctors and appointments effortlessly.
Experience Ivory in action:
π Live Demo
π‘ Tip: Use the admin email defined in
ADMIN_EMAILto access the admin panel and explore admin functionalities.
- β¨ Seamless Booking β Book appointments effortlessly with a responsive, clean interface.
- π§ Instant Email Confirmations β Beautiful email templates with full appointment details.
- π Appointment Dashboard β Quick overview of upcoming appointments.
- π± Mobile-First Design β Fully responsive across all devices.
- π¨ Interactive UI β Smooth hover effects, animations, and toast notifications.
- π Secure Access β Only
ADMIN_EMAILcan access admin functionalities. - π¨ββοΈ Doctor Management β Add, edit, or remove doctors seamlessly.
- π Appointment Oversight β Track all appointments in one dashboard.
- π₯ Admin Panel β Access at
/adminto manage your practice efficiently. - π³ Clerk Billing β Monitor subscriptions and premium feature payments.
- βοΈ Automated Emails β Sent via Resend, built with @react-email/components.
- π Full Appointment Details β Includes doctor, date/time, type, duration, and cost.
- πΌ Professional Templates β Sleek and readable for all patients.
- β‘ Next.js & Tailwind CSS β Fast, modern, and responsive.
- π± Interactive Components β Smooth toasts and animations via Sonner.
- π Future Dark Mode β Prepared for dark theme integration.
- π§© shadcn/ui β Ready-to-use components for consistent UI.
Dashboard & Appointment Booking

π‘ Tip: Screenshots highlight responsive UI and email confirmation workflow.
Diagram shows the flow: patient books β appointment saved in Neon DB via Prisma β email sent via Resend β admin manages via dashboard.
- π Clerk Authentication β Secure login and registration.
- π‘ Admin Access β Restricted to
ADMIN_EMAIL. - π€ User Privacy β Users can only access their own appointments.
- π Passwordless & Verified Email β Extra security layer.
- π³ Payment gateway integration for deposits.
- β° Real-time appointment reminders.
- π Admin analytics dashboard for appointments, revenue, patient activity.
- π₯ Multi-doctor support with advanced filtering and search.
- π Dark mode for better UX.
- π€ AI assistant via VAPI AI for patient queries.
Before running Ivory, set up your .env file with the following keys:
# Clerk Authentication Keys
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
# Database Connection
DATABASE_URL=your_postgres_database_url
# VAPI AI Assistant Configuration
NEXT_PUBLIC_VAPI_ASSISTANT_ID=your_vapi_assistant_id
NEXT_PUBLIC_VAPI_API_KEY=your_vapi_api_key
# Admin Account
ADMIN_EMAIL=your_admin_email
# Expose admin email to frontend if needed
NEXT_PUBLIC_ADMIN_EMAIL=your_admin_email
# Email Sending Service
RESEND_API_KEY=your_resend_api_key
# Application URL
NEXT_PUBLIC_APP_URL=your_app_urlWe welcome contributions from developers and enthusiasts!
- π΄ Fork the repository.
- πΏ Create a new branch:
git checkout -b feature-branch
- ποΈ Commit your changes:
git commit -m "Add your feature" - π Push the branch:
git push origin feature-branch
- π Open a pull request.
π¬ Questions or suggestions? Reach out!
π§ soumojitbanerjee22@gmail.com
π LinkedIn
π¨βπ» Developed by Soumojit Banerjee
β If you enjoyed using Ivory, give it a star on GitHub!


