An open API service indexing awesome lists of open source software.

https://github.com/bernietv/calendly-clone

A sleek, full-stack Calendly clone that simplifies scheduling with smart availability, timezone support, and smooth Google integration. ๐Ÿ“…โœจ๐ŸŒโšก
https://github.com/bernietv/calendly-clone

googleapi nodejs postgresql reactjs shadcn-ui tailwindcss typeorm typescript vitejs

Last synced: about 1 month ago
JSON representation

A sleek, full-stack Calendly clone that simplifies scheduling with smart availability, timezone support, and smooth Google integration. ๐Ÿ“…โœจ๐ŸŒโšก

Awesome Lists containing this project

README

          

# ๐ŸŒŸ **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

```bash
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:

```bash
cd backend
touch .env
```

Add the following configuration:

```env
PORT=8000
NODE_ENV=development

DATABASE_URL="postgresql://:@:/"

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:

```bash
cd ../frontend
touch .env
```

Then add:

```env
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:

```bash
# Backend
cd ../backend
npm install

# Frontend
cd ../frontend
npm install
```

---

### โ–ถ๏ธ 5. Start Development Servers

```bash
# 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

```bash
backend/src
โ”œโ”€โ”€ @types
โ”œโ”€โ”€ config
โ”œโ”€โ”€ controllers
โ”œโ”€โ”€ database
โ”œโ”€โ”€ enums
โ”œโ”€โ”€ middlewares
โ”œโ”€โ”€ routes
โ”œโ”€โ”€ services
โ”œโ”€โ”€ utils
โ””โ”€โ”€ index.ts
```

### ๐Ÿ”น Frontend

```bash
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

---