SkillAgentSearch skills...

Analog

Meet the calendar that changes everything

Install / Use

/learn @analogdotnow/Analog
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<p align="center"> <h1 align="center">Analog</h1> <p align="center">The open source calendar that changes everything</p> </p> <div align="center"> <br/> <a href="https://vercel.com/oss"> <img alt="Vercel OSS Program" src="https://vercel.com/oss/program-badge.svg" /> </a> <br/> <br/> </div>

Getting Started

To get Analog up and running on your local machine, follow these steps:

Prerequisites

Ensure you have the following installed:

Setup

  1. Clone the repository:

    git clone https://github.com/analogdotnow/analog.git
    cd analog
    
  2. Install dependencies:

    bun install
    
  3. Configure environment variables: Copy the example environment file:

    cp .env.example .env
    

    Then, open the newly created .env file. You will find default values for DATABASE_URL and BETTER_AUTH_URL. You need to set the following:

    • BETTER_AUTH_SECRET: Generate a secure secret by running openssl rand -hex 32 in your terminal. <br/><br/>
  4. Set up Google OAuth:

  1. Set up Microsoft OAuth (optional):
  • MICROSOFT_CLIENT_ID and MICROSOFT_CLIENT_SECRET:
    1. Go to the Microsoft Azure Portal, then navigate to Microsoft Entra ID → App registrations.
    2. Register a new application and set the redirect URI (http://localhost:3000/api/auth/callback/microsoft).
    3. Copy the Application (client) ID and create a new client secret under Certificates & secrets.
    4. Go to API permissions, click + Add a permission, choose Microsoft Graph → Delegated permissions, and add:
      • Calendars.Read, Calendars.ReadWrite, User.Read, offline_access
  1. Set up Google Maps API (optional):

Database Setup

Analog uses PostgreSQL with Drizzle ORM. You can run the database using Docker:

  1. Start the PostgreSQL database container:

    bun run docker:up
    

    This command uses docker-compose.yml to spin up a PostgreSQL container.

  2. 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.

View on GitHub
GitHub Stars1.6k
CategoryDevelopment
Updated2d ago
Forks188

Languages

TypeScript

Security Score

95/100

Audited on Mar 27, 2026

No findings