CalEasy is a lightweight, self-hosted scheduling application built with Next.js, React, and Tailwind CSS. It lets individuals and teams create booking links, define custom meeting types, and integrate with calendar services—all from your own codebase. Its minimal footprint makes it easy to deploy on Vercel, Netlify, or any Node.js-capable server.
CalEasy emphasizes simplicity and extensibility: you get a clean UI out of the box, plus the freedom to fork, modify, and contribute back on GitHub.
- One-Click Scheduling: Generate shareable booking URLs in seconds, with configurable meeting durations and buffer times.
- Custom Meeting Types: Define multiple event types—each with its own length, buffer, and intake form questions.
- Calendar Integrations: Sync with Google Calendar, Outlook, and iCal for real-time availability updates.
- Notifications & Reminders: Built-in email alerts to reduce no-shows.
- Open-Source & Self-Hostable: Inspect the code, customize the UI, and deploy on your own infrastructure.
CalEasy’s modular architecture also allows you to swap out or extend storage, authentication, and notification providers.
CalEasy is built on modern web technologies:
- Next.js (v14) — App Router, API routes, and server components
- React — Client-side interactivity and state management
- Tailwind CSS — Utility-first styling for rapid UI development
- MongoDB — relational database for persistence
- NextAuth.js — Secure authentication with OAuth providers
- Nylas API — Email/calendar integrations
This stack balances performance, scalability, and developer ergonomics.
-
Clone the repository
git clone https://github.com/Vaibhavsahu2810/calEasy.git cd calEasy -
Install dependencies
npm install # or yarn install -
Start the development server
npm run dev # Visit http://localhost:3000 in your browser
Create a .env file at the project root with at least the following keys:
# App
NEXT_PUBLIC_URL=http://localhost:3000
# Database (PostgreSQL)
MONGODB_URI
# Nylas OAuth
NYLAS_CLIENT_ID=<your_nylas_client_id>
SECRET=<your_nylas_client_secret>
NYLAS_API_KEY=<your_nylas_api_key>
NYLAS_API_URI=https://api.us.nylas.comReload your environment after editing .env.
- Home Page: Create new meeting types and generate booking links.
- Booking Page: Invitees pick a time and submit optional questions via the intake form.
- Dashboard: View upcoming appointments, reschedule or cancel events.
Visit /features to see a list of available capabilities and /about for project info.
Contributions are welcome! Please follow these steps:
-
Fork the repo on GitHub.
-
Create a topic branch:
git checkout -b feat/my-new-feature
-
Make your changes and write tests if applicable.
-
Submit a Pull Request describing your work and linking any relevant issues.
-
Maintain code style: run
npm run lintandnpm run formatbefore committing.
See CONTRIBUTING.md for full guidelines.
This project is licensed under the MIT License. See LICENSE for details.
Enjoy CalEasy? ⭐ Star the repo on GitHub and share your feedback in Issues or Discussions!