Calendra.io is an open-source, modern scheduling solution designed to simplify the process of managing appointments, meetings, and events with cross platform calendar sync. Built with a powerful tech stack and seamless integration capabilities, this platform provides a robust alternative to proprietary scheduling tools.
- Smart Scheduling: AI-powered scheduling suggestions based on user availability patterns
- Multi-provider Authentication: Secure sign-in with GitHub, Google, and more
- Calendar Synchronization: Seamless integration with popular calendar services
- Email Notifications: Automated reminders and updates via Nylas API
- Customizable Meeting Types: Create various meeting formats with different durations and settings
- Time Zone Intelligence: Automatic time zone detection and conversion
- Responsive Design: Beautiful UI that works across all devices
- Team Scheduling: Coordinate availability across team members
- Booking Pages: Personalized scheduling links for individuals and teams
- Frontend: Next.js, React, TypeScript
- Styling: Tailwind CSS, Shadcn UI
- Backend: Next.js API Routes
- Database: PostgreSQL (Supabase)
- Authentication: NextAuth.js
- Email Integration: Nylas API
- File Uploads: UploadThing
- Deployment: Vercel
- Node.js 18.x or higher
- PostgreSQL database (we recommend Supabase)
- Nylas API credentials for email integration
- GitHub & Google OAuth credentials (for authentication)
- UploadThing account for file upload functionality
- Clone the repository
git clone https://github.com/Rio-awsm/calendly-scheduler-platform.git
cd calendly-scheduler-platform
- Install dependencies
npm install
# or
yarn install
# or
pnpm install
# or
bun install
- Set up environment variables
Copy the env.example
file to .env.local
and fill in your credentials:
cp env.example .env.local
Required environment variables:
AUTH_SECRET
: A secure string for NextAuth.jsAUTH_GITHUB_ID
&AUTH_GITHUB_SECRET
: GitHub OAuth credentialsAUTH_GOOGLE_ID
&AUTH_GOOGLE_SECRET
: Google OAuth credentialsDATABASE_URL
: Your Supabase PostgreSQL connection stringDIRECT_URL
: Direct PostgreSQL connection URLNYLAS_API_SECRET_KEY
,NYLAS_API_URL
, &NYLAS_CLIENT_ID
: Nylas API credentialsNEXT_PUBLIC_URL
: Your application's public URLUPLOADTHING_TOKEN
: UploadThing authentication token
- Set up the database
npx prisma db push
# or
yarn prisma db push
- Run the development server
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
- Open your browser
Navigate to http://localhost:3000 to see the application running.
After setup, you can:
- Create an account or sign in with GitHub/Google
- Set your availability preferences
- Create custom meeting types
- Share your booking link with others
- Manage your schedule and appointments
For more detailed documentation, check the docs
directory or visit our documentation site.
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Commit your changes:
git commit -m 'Add some amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a pull request
Please read our CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
- Next.js for the incredible framework
- Shadcn UI for awesome UI components
- Supabase for database services
- Nylas for email integration
- NextAuth.js for authentication
- UploadThing for file upload capabilities
- Vercel for hosting and deployment
For support, please open an issue on the repository or contact the maintainers at [email protected].
Made with ❤️ by Rio-awsm