Skip to content

A sleek, full-stack Calendly clone that simplifies scheduling with smart availability, timezone support, and smooth Google integration. πŸ“…βœ¨πŸŒβš‘

Notifications You must be signed in to change notification settings

BernieTv/Calendly-Clone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌟 Meetly – A Calendly Clone

A full-stack scheduling app to simplify your time management.


🧭 Overview

Introducing Meetly β€” your intelligent, modern-day meeting scheduling solution! Inspired by Calendly, this clone brings seamless, efficient scheduling to life. Crafted with a robust MERN-ish stack: Node.js, TypeORM, PostgreSQL, and React.js, Meetly empowers users to book, manage, and sync meetings β€” all in a clean, responsive interface.

🧠 Smart availability logic, timezone-aware booking, and elegant UI make Meetly the ultimate productivity ally.


✨ Key Features

  • πŸ” Secure Auth β€” Effortless JWT-based sign-up & login
  • πŸ—–οΈ Event Creation β€” Private or public events at your fingertips
  • πŸ”— Sharable Links β€” Share custom booking links, book instantly!
  • ⏳ Availability Control β€” Define time slots, prevent double-booking
  • 🌍 Timezone Support β€” Auto-detection for global coordination
  • πŸ—•οΈ Custom Calendar UI β€” Built from scratch, no plugins
  • πŸ”„ Google Calendar Integration β€” Sync with Google Meet & Calendar
  • βœ… Meeting Dashboard β€” Track upcoming, past & canceled meetings
  • 🧐 Time Format Toggle β€” Choose between 12h & 24h display
  • πŸ“₯ Email Notifications β€” Stay in the loop with meeting alerts
  • 🧹 Modular Codebase β€” Scalable and maintainable architecture
  • πŸ’» Tech Stack β€” Node.js β€’ TypeORM β€’ PostgreSQL β€’ React.js
  • 🎨 Modern UI β€” Styled with TailwindCSS v4 & Shadcn UI

βš™οΈ Tech Stack & Tools

Meetly brings together the best of modern web development:

πŸ’» Backend 🌐 Frontend πŸ› οΈ Dev Tools πŸ”— Integration
Node.js React.js Vite.js Google Calendar API
TypeORM TailwindCSS v4 TypeScript OAuth 2.0
PostgreSQL Shadcn UI JWT Authentication Google Meet Integration

πŸš€ Getting Started

Spin up your own instance of Meetly in just a few steps:

πŸ› οΈ 1. Clone the Repo

git clone https://github.com/BernieTv/Calendly-Clone.git
cd Calendly-Clone

πŸ” 2. Set Up Backend Environment Variables

Navigate to the backend directory and create a .env file:

cd backend
touch .env

Add the following configuration:

PORT=8000
NODE_ENV=development

DATABASE_URL="postgresql://<USER>:<PASSWORD>@<HOST>:<PORT>/<DB_NAME>"

JWT_SECRET="your_jwt_secret"
JWT_EXPIRES_IN="1d"

GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_REDIRECT_URI="http://localhost:8000/api/integration/google/callback"

FRONTEND_ORIGIN=http://localhost:5173
FRONTEND_INTEGRATION_URL=http://localhost:5173/app/integrations

πŸ›‘οΈ These settings configure the server, database, authentication, and Google integrations.


🌐 3. Set Up Frontend Environment Variables

Move into the /frontend folder and create a .env file:

cd ../frontend
touch .env

Then add:

VITE_APP_ORIGIN="http://localhost:5173"
VITE_API_BASE_URL="http://localhost:8000/api"

βš™οΈ This enables the frontend to properly interact with the backend API.


πŸ“¦ 4. Install Dependencies

Install dependencies for both backend and frontend:

# Backend
cd ../backend
npm install

# Frontend
cd ../frontend
npm install

▢️ 5. Start Development Servers

# Start backend server
cd ../backend
npm run dev

# Start frontend server
cd ../frontend
npm run dev
  • 🎯 Backend API available at: http://localhost:8000
  • πŸ’» Frontend app running at: http://localhost:5173

πŸ§ͺ Testing & Validation

  • βœ… API tested using Postman with secured endpoints
  • πŸ›‘οΈ Strong schema validation with TypeORM decorators and DB constraints

🧹 Project Structure

πŸ”Ή Backend

backend/src
β”œβ”€β”€ @types
β”œβ”€β”€ config
β”œβ”€β”€ controllers
β”œβ”€β”€ database
β”œβ”€β”€ enums
β”œβ”€β”€ middlewares
β”œβ”€β”€ routes
β”œβ”€β”€ services
β”œβ”€β”€ utils
└── index.ts

πŸ”Ή Frontend

frontend/src
β”œβ”€β”€ assets
β”œβ”€β”€ components
β”œβ”€β”€ context
β”œβ”€β”€ hooks
β”œβ”€β”€ layout
β”œβ”€β”€ lib
β”œβ”€β”€ pages
β”œβ”€β”€ routes
β”œβ”€β”€ store
β”œβ”€β”€ types
β”œβ”€β”€ App.tsx
β”œβ”€β”€ index.css
β”œβ”€β”€ main.tsx
└── vite-env.d.ts

πŸ“Œ Roadmap

  • πŸ”” Email & SMS notifications via Nodemailer/Twilio
  • πŸ“Š Analytics dashboard for user scheduling trends
  • πŸ‘₯ Team scheduling with round-robin support
  • 🧹 Third-party webhooks & Zapier integration
  • πŸ“± Improved mobile responsiveness and PWA support

About

A sleek, full-stack Calendly clone that simplifies scheduling with smart availability, timezone support, and smooth Google integration. πŸ“…βœ¨πŸŒβš‘

Topics

Resources

Stars

Watchers

Forks