One Calendar

One Calendar

One Calendar

Vercel Project Status license forks stars issues pull-requests

A beautifully minimal open-source calendar app to plan your week and life.

Deploy with Vercel Deploy to Netlify

What is One Calendar?

One Calendar is a privacy-first, weekly-focused, open-source calendar app, designed to help individuals and teams plan, focus, and stay in sync.

Without One Calendar, your schedule is scattered. With it, your week feels intentional.

Why One Calendar?

Most calendar tools are cluttered, over-engineered, or locked behind paywalls. One Calendar aims to be:

  • 🧠 AI Powered – AI-first app that streamlines your scheduling.
  • 🕹 Interactive & Smooth – Drag, drop, right-click, and edit with ease.
  • 🔐 Private & Local – Your data is yours. Export, backup, and control.
  • ☁️ Cloud Sync – Optional sync via PostgreSQL.
  • 🌐 Clerk-Account – Easily login with third-party.
  • 🌍 International – Automatically adapts to your language (English / 中文).
  • 🧱 Customizable – Tailor themes, default view, and integrations.

Tech Stack

  • Frontend: Next.js 14, Tailwind CSS, shadcn/ui, TypeScript
  • Auth: Clerk
  • Storage: PostgreSQL
  • Weather: OpenWeather API
  • AI: Groq API
  • Analytics: Vercel Analytics
  • Deploy: Vercel

Preview

App Green Yellow

Getting Started

Prerequisites

Required Versions:

Quick Start

# Clone the repo
git clone https://github.com/EvanTechDev/One-Calendar.git
cd One-Calendar

# Install dependencies
bun install

# Start the app
bun dev

Then visit http://localhost:3000

Environment Variables

Copy .env.example to .env and fill in:

# Required 
NEXT_PUBLIC_BASE_URL=http://localhost:3000
SALT=Backup-Salt

# Auth (Required)
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your-clerk-publishable-key
CLERK_SECRET_KEY=your-clerk-secret

# Optional
GROQ_API_KEY=your-groq-api
OPENWEATHER_API_KEY=your-open-weather-api-key

# Optional, database
POSTGRES_URL=postgres://postgres:postgres@localhost:5432/onecalendar

# Optional, Cloudflare turnstile captcha
NEXT_PUBLIC_TURNSTILE_SITE_KEY=site-key
TURNSTILE_SECRET_KEY=secret-key

Enviroment Setup

  1. SALT

Install Openssl and Use this command to generate a SALT

openssl rand -hex 16

Then copy it into .env

  1. PostgreSQL

Run this command if you installed docker

bun run db

And the env:

POSTGRES_URL=postgres://postgres:postgres@localhost:5432/onecalendar
  1. Cloudflare Turnstile

[!NOTE]
Updating

  1. Groq

Go to Groq Console and login

Click the Create API Key

Screenshot_20250502_150743

Copy your API Key

Screenshot_20250502_150857

Fill in the env file:

GROQ_API_KEY=your-api-key

Roadmap

You can report a bug or request a new feature on our feedback website

Roadmap & Feedback

Star History

Star History Chart

The Team

Brought to you by a small team of makers who love clean tools and open-source.

Check out our contributors ❤️

Sponsor

BTC: bc1qdhn6c7tlcaflzu3u5fva825l20k9eqnqag5xzj

Acknowledgements

This project wouldn’t be possible without these awesome services:

Vercel Clerk Groq OpenWeather API

License

This project is licensed under the GNU General Public License v3.0 (GPL-3.0).
See the LICENSE file for details.

Last updated on