A modern scheduling platform that helps professionals manage their time effectively and streamline meeting bookings.
Live Demo: schedulo-blue.vercel.app
🔐 Authentication & Authorization
- Secure user authentication with Clerk
- Role-based access control
- Protected routes and API endpoints
📅 Event Management
- Create and customize event types
- Set duration and availability
- Private/public event visibility
- Google Calendar integration
🕒 Availability Management
- Set weekly availability
- Custom time slots
- Buffer time between meetings
- Timezone support
📱 Booking System
- Custom booking links
- Automated scheduling
- Email notifications
- Google Meet integration
📊 Dashboard
- Overview of upcoming meetings
- Meeting history
- Analytics and insights
- Quick actions
| Category | Technologies |
|---|---|
| Framework | Next.js 14 (App Router) |
| UI Library | React 18 |
| Language | JavaScript (ES6+) |
| Styling | Tailwind CSS |
| Components | Radix UI, Shadcn/ui |
| State Management | React Hooks |
| Form Handling | React Hook Form + Zod |
| Icons | Lucide Icons |
| Category | Technologies |
|---|---|
| Database | Neon DB |
| Database type | PostgreSQL |
| ORM | Prisma 6.7 |
| Authentication | Clerk |
| API Routes | Next.js API Routes |
| Calendar Integration | Google Calendar API |
| Category | Tools |
|---|---|
| Package Manager | npm |
| Code Quality | ESLint |
| Version Control | Git |
| Deployment | Vercel |
- Node.js 18+
- PostgreSQL database
- Clerk account
- Google Cloud Platform account
- Neon DB
-
Clone the repository
git clone https://github.com/AradhyaTiwari10/Schedulo.git cd Schedulo -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env
Fill in your environment variables (see Environment Variables)
-
Set up the database
npx prisma generate npx prisma db push
-
Run the development server
npm run dev
Schedulo/
├── app/ # Next.js app directory
│ ├── (main)/ # Main application routes
│ ├── api/ # API routes
│ └── layout.js # Root layout
├── components/ # React components
│ ├── ui/ # UI components
│ └── shared/ # Shared components
├── lib/ # Utility functions
├── hooks/ # Custom React hooks
├── actions/ # Server actions
├── prisma/ # Database schema and migrations
├── public/ # Static assets
└── styles/ # Global styles
# Database
DATABASE_URL="postgresql://..."
# Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=...
CLERK_SECRET_KEY=...
# Other
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up| Method | Endpoint | Description |
|---|---|---|
| POST | /api/events |
Create new event |
| GET | /api/events |
List user's events |
| POST | /api/bookings |
Create booking |
| GET | /api/bookings |
List user's bookings |
| PUT | /api/availability |
Update availability |