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. ๐ โจ๐โก
- Host: GitHub
- URL: https://github.com/bernietv/calendly-clone
- Owner: BernieTv
- License: other
- Created: 2025-04-11T15:43:42.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-04-11T16:35:07.000Z (10 months ago)
- Last Synced: 2025-04-11T17:24:03.153Z (10 months ago)
- Topics: googleapi, nodejs, postgresql, reactjs, shadcn-ui, tailwindcss, typeorm, typescript, vitejs
- Language: TypeScript
- Homepage: https://calendly-clone-zeta.vercel.app
- Size: 207 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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
---