/booki

Modern Appointment Booking Platform

Primary LanguageTypeScript

Booki - Modern Appointment Booking Platform

Booki is a powerful and flexible appointment booking platform that enables service providers to create customized booking pages for their clients. Built with modern technologies and real-time capabilities.

Features

  • 🔐 Secure authentication with Clerk
  • 📅 Real-time appointment booking
  • ✨ Customizable provider profiles
  • 📧 Automated email notifications
  • 🌐 Public booking pages
  • ⚡ Real-time availability updates
  • 🎨 Modern, responsive UI
  • 🌍 Timezone support

Tech Stack

  • Frontend: Next.js 14, TypeScript, TailwindCSS
  • Backend: Convex (Real-time Database)
  • Authentication: Clerk
  • Email: Resend
  • Deployment: Vercel

Quick Start

  1. Clone the repository

  2. Install dependencies:

    npm install
  3. Set up environment variables:

    cp .env.example .env.local
  4. Configure your environment variables:

    • NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
    • CLERK_SECRET_KEY
    • NEXT_PUBLIC_CONVEX_URL
    • RESEND_API_KEY
  5. Run the development server:

    npm run dev

Deploy Your Own

Deploy your own version of Booki using Vercel:

Deploy with Vercel

Environment Variables

To run this project, you'll need to add the following environment variables to your .env.local file:

# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key

# Convex
NEXT_PUBLIC_CONVEX_URL=your_convex_deployment_url

# Resend
RESEND_API_KEY=your_resend_api_key

Development

For detailed development guidelines and project structure, please refer to our Development Plan.

Contributing

Contributions are welcome! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.