analogdotnow/Analog
analogdotnow/Analog has 1,594 GitHub stars and 183 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-08 03:33 UTC. Last push 2026-09-18.
Meet the calendar that changes everything
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Original
Analog
The open source calendar that changes everything
Getting Started
To get Analog up and running on your local machine, follow these steps:
Prerequisites
Ensure you have the following installed:
- Bun: A fast JavaScript runtime, package manager, bundler, and test runner.
- Docker Desktop: For running the PostgreSQL database.
Setup
Clone the repository:
git clone https://github.com/analogdotnow/analog.git cd analogInstall dependencies:
bun installConfigure environment variables: Copy the example environment file:
cp .env.example .envThen, open the newly created
.envfile. You will find default values forDATABASE_URLandBETTER_AUTH_URL. You need to set the following:BETTER_AUTH_SECRET: Generate a secure secret by runningopenssl rand -hex 32in your terminal.
Set up Google OAuth:
GOOGLE_CLIENT_IDandGOOGLE_CLIENT_SECRET:- Create a Google project in the Google Cloud Console.
- Follow step 1 in the Better Auth documentation to set up Google OAuth credentials.
- Enable the Google Calendar API by visiting Google Cloud Console APIs and enabling it for your project.
- Add yourself as test user:
- Locate the Google OAuth
Audiencetab. - Under 'Test users', click on 'Add Users'.
- Add your email(s) in the textbox and click on 'Save'.
- Locate the Google OAuth
- Set up Microsoft OAuth (optional):
MICROSOFT_CLIENT_IDandMICROSOFT_CLIENT_SECRET:- Go to the Microsoft Azure Portal, then navigate to Microsoft Entra ID → App registrations.
- Register a new application and set the redirect URI (
http://localhost:3000/api/auth/callback/microsoft). - Copy the Application (client) ID and create a new client secret under Certificates & secrets.
- Go to API permissions, click + Add a permission, choose Microsoft Graph → Delegated permissions, and add:
Calendars.Read,Calendars.ReadWrite,User.Read,offline_access
- Set up Google Maps API (optional):
GOOGLE_MAPS_API_KEY:- In your existing Google Cloud project (or create a new one), enable the Places API (New) by visiting Google Cloud API Library.
- Create an API key in Google Cloud Maps Platform Credentials.
- Set the API key as
GOOGLE_MAPS_API_KEYin your.envfile.
Database Setup
Analog uses PostgreSQL with Drizzle ORM. You can run the database using Docker:
Start the PostgreSQL database container:
bun run docker:upThis command uses
docker-compose.ymlto spin up a PostgreSQL container.Initialize the database: Once the database container is running and healthy, initialize the database:
bun run db:push
Running the Application
After setting up the environment and database, you can start the development server:
bun run dev
The application should now be accessible in your browser at http://localhost:3000.
Tech Stack
- Web: Next.js, TypeScript, Tailwind v4, Bun, tRPC, TanStack Query, shadcn/ui, Vercel AI SDK
- Database: Drizzle with PostgreSQL, Redis
- Authentication: Better Auth
Contributing
Please see CONTRIBUTING.md for details on how to contribute to this project.
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,901 starspublic-apis/public-apis
A collective list of free APIs
497,136 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
442,108 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,171 stars