Skip to content

AbdullahAli2005/DentiCore

Repository files navigation

DentiCore – AI-Powered Dental Voice Assistant

DentiCore is a modern web application that provides 24/7 AI-powered, voice-based dental consultations and appointment management. Patients can speak naturally with an intelligent voice assistant (powered by Vapi.ai) to receive instant dental advice, understand symptoms, get home-care recommendations, or book appointments.

Built with Next.js 15 (App Router), TypeScript, Tailwind CSS, Clerk authentication, Prisma ORM, and TanStack Query.


🚀 Live Preview

Click Here for Live Preview


✨ Key Features

  • 🎙️ Voice-Powered AI Dental Assistant — Speak naturally using your browser microphone (Vapi.ai)
  • 🔐 Authentication & User Management — Secure sign-in with Clerk
  • 💳 Subscription Plans — Basic & Pro tiers with gated voice access
  • 📅 Appointment Management — Book and manage dental appointments
  • 🛠️ Admin Dashboard — Manage doctors, appointments, and view stats
  • 🦷 Multiple Appointment Types — Checkups, Cleaning, Consultation, Emergency
  • 🌙 Modern UI/UX — Dark mode, Geist font, Radix UI, Sonner toasts
  • 📱 Responsive Design — Optimized for desktop, tablet, and mobile
  • 🧰 Utility Helpers — Avatar generation, phone formatting, initials, time slots

🧱 Tech Stack

Category Tools / Libraries
Framework Next.js 15 (App Router, Turbopack)
Language TypeScript
Styling Tailwind CSS v4, clsx, tailwind-merge
Authentication Clerk
Database Prisma ORM + PostgreSQL
Data Fetching TanStack Query (React Query)
Voice AI Vapi.ai (@vapi-ai/web)
Emails Resend
UI Components Radix UI, shadcn/ui, Lucide Icons
Forms & Validation react-hook-form, zod
Dates date-fns
Linting / Formatting Biome

📁 Project Structure

denticore/
├── app/
│   ├── (landing)/        # Marketing pages
│   ├── dashboard/        # Authenticated user area
│   ├── voice/            # Voice consultation page
│   ├── pro/              # Pricing / upgrade page
│   ├── admin/            # Admin dashboard
│   └── layout.tsx
│
├── components/
│   ├── admin/
│   ├── landing/
│   ├── voice/
│   ├── Navbar.tsx
│   ├── UserSync.tsx
│   └── provider/
│
├── hooks/                # Custom TanStack Query hooks
│
├── lib/
│   ├── actions/
│   └── utils.ts          # cn(), formatPhoneNumber, generateAvatar, etc.
│
├── prisma/
│   └── schema.prisma
│
├── public/
│
├── .env.example
├── next.config.ts
├── package.json
├── tsconfig.json
└── tailwind.config.ts

⚙️ Getting Started

1. Prerequisites

  • Node.js >= 20

  • pnpm (recommended) or npm / yarn

  • PostgreSQL database

  • Accounts & API keys for:

    • Clerk
    • Vapi.ai
    • Resend (optional)

2. Installation

# Clone the repository
git clone https://github.com/AbdullahAli2005/denticore.git
cd denticore

# Install dependencies
pnpm install
# or
npm install

# Copy environment variables
cp .env.example .env.local

Fill in your .env.local file:

# Clerk
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_...
CLERK_SECRET_KEY=sk_...

# Vapi
NEXT_PUBLIC_VAPI_API_KEY=...

# Database
DATABASE_URL="postgresql://user:password@localhost:5432/denticore"

# Resend (optional)
RESEND_API_KEY=...

3. Database Setup

# Generate Prisma client
pnpm prisma generate

# Push schema (development)
pnpm prisma db push

# OR run migrations
pnpm prisma migrate dev --name init

4. Run the Application

# Development server
pnpm dev

Visit: http://localhost:3000


🧪 Useful Commands

pnpm dev             # Start development server
pnpm build           # Build for production
pnpm start           # Run production build
pnpm lint            # Run Biome lint
pnpm format          # Format code with Biome
pnpm prisma studio   # Open Prisma Studio

🚢 Deployment

Recommended platforms:

  • Vercel (best for Next.js)
  • Railway
  • Render
  • Fly.io

Ensure all environment variables are set in your hosting dashboard.


🤝 Contributing

Contributions are welcome and appreciated.

  1. Fork the repository

  2. Create your feature branch:

    git checkout -b feature/amazing-feature
  3. Commit your changes:

    git commit -m "Add amazing feature"
  4. Push to the branch:

    git push origin feature/amazing-feature
  5. Open a Pull Request


📄 License

Distributed under the MIT License. See LICENSE for more information.


Made with ❤️ to improve dental care accessibility.

About

DentiCore is a modern web application that provides 24/7 AI-powered, voice-based dental consultations and appointment management

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors