Skip to content

Ivory is a modern web app for dental practices that streamlines appointment booking and management. Patients can schedule visits with instant email confirmations, while admins manage doctors, appointments, and notifications through a responsive dashboard. Built with Next.js, Tailwind CSS, and AI tools for a seamless experience.

Notifications You must be signed in to change notification settings

soumojit622/Ivory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

33 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🦷 Ivory - Dental Appointment Management Web App

Ivory Banner

Next.js Tailwind CSS Clerk Clerk Billing Sonner Resend Neon Prisma VAPI AI shadcn/ui


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.


🌐 Live Demo

Experience Ivory in action:
πŸ”— Live Demo

πŸ’‘ Tip: Use the admin email defined in ADMIN_EMAIL to access the admin panel and explore admin functionalities.


🌟 Key Features

πŸ§‘β€βš•οΈ Patient Features

  • ✨ 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.

πŸ›  Admin Features

  • πŸ”’ Secure Access – Only ADMIN_EMAIL can access admin functionalities.
  • πŸ‘¨β€βš•οΈ Doctor Management – Add, edit, or remove doctors seamlessly.
  • πŸ“Š Appointment Oversight – Track all appointments in one dashboard.
  • πŸ–₯ Admin Panel – Access at /admin to manage your practice efficiently.
  • πŸ’³ Clerk Billing – Monitor subscriptions and premium feature payments.

πŸ’Œ Email Notifications

  • βœ‰οΈ 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.

🎨 UI & UX

  • ⚑ 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.

πŸ›  Technology Stack

Technology Description Icon
Next.js Full-stack React framework Next.js
Tailwind CSS Utility-first CSS framework Tailwind CSS
Clerk Authentication & user management Clerk
Clerk Billing Subscription & payments management Clerk Billing
Sonner Toast notifications Sonner
Resend Email sending service Resend
PostgreSQL (Neon) Cloud relational database PostgreSQL
Prisma ORM Type-safe database ORM Prisma
VAPI AI AI-powered virtual assistant VAPI AI
Lucide Icons Open-source icon library Lucide Icons
shadcn/ui Ready-to-use React UI components shadcn UI

πŸ–Ό Screenshots

Dashboard & Appointment Booking
Dashboard Screenshot

Email Confirmation Example
Email Screenshot

πŸ’‘ Tip: Screenshots highlight responsive UI and email confirmation workflow.


πŸ— Architecture / Workflow

Workflow Diagram

Diagram shows the flow: patient books β†’ appointment saved in Neon DB via Prisma β†’ email sent via Resend β†’ admin manages via dashboard.


πŸ”’ Authentication & Security

  • πŸ” 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.

⚑ Future Enhancements

  • πŸ’³ 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.

βš™οΈ Environment Variables

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_url

πŸ’¬ Contribute

We welcome contributions from developers and enthusiasts!

  1. 🍴 Fork the repository.
  2. 🌿 Create a new branch:
    git checkout -b feature-branch
  3. πŸ–ŠοΈ Commit your changes:
    git commit -m "Add your feature"
  4. πŸš€ Push the branch:
    git push origin feature-branch
  5. πŸ”€ Open a pull request.

πŸ“¬ Contact & Support

πŸ’¬ Questions or suggestions? Reach out!

πŸ“§ soumojitbanerjee22@gmail.com
πŸ”— LinkedIn


πŸ‘¨β€πŸ’» Developed by Soumojit Banerjee

⭐ If you enjoyed using Ivory, give it a star on GitHub!

About

Ivory is a modern web app for dental practices that streamlines appointment booking and management. Patients can schedule visits with instant email confirmations, while admins manage doctors, appointments, and notifications through a responsive dashboard. Built with Next.js, Tailwind CSS, and AI tools for a seamless experience.

Topics

Resources

Stars

Watchers

Forks