Skip to content

open-format/claim-badges

Repository files navigation

Getting Started

Prerequisites

Before you begin, you'll need to set up accounts and configure a few services:

  1. Open Format Dashboard

  2. Privy Dashboard

    • Create an account at Privy Dashboard
    • Create a new app to get your NEXT_PUBLIC_PRIVY_APP_ID and PRIVY_APP_SECRET from the Settings section of your Privy app
    • In the Login Methods section of your Privy app, enable:
      • Discord
      • Telegram
      • Email
  3. Database

    • Set up a Supabase project, or use any PostgreSQL database
    • Get your database connection string to set as DATABASE_URL
    • If using Supabase, use the pool connection string from the project settings

Environment Variables

All environment variables are required for the application to function properly:

Variable Description Reference
NEXT_PUBLIC_PRIVY_APP_ID Public app ID for Privy social wallet and authentication Privy Dashboard
PRIVY_APP_SECRET Secret key for Privy server-side operations Privy Dashboard
DATABASE_URL PostgreSQL connection string for storing community metadata and branding Supabase Connection Strings
NEXT_PUBLIC_THIRDWEB_CLIENT Public client ID for Thirdweb IPFS storage Thirdweb Dashboard
THIRDWEB_SECRET Secret key for Thirdweb server-side operations Thirdweb Dashboard
OPENFORMAT_API_KEY API key for Open Format leaderboard generation Open Format Dashboard
OPENFORMAT_API_URL Base URL for Open Format API endpoints (default: https://api.openformat.tech/v1) Open Format Docs
NEXT_PUBLIC_COMMUNITY_ID Community ID for Matchain integration Matchain Docs
POINTS_TOKEN_ADDRESS Token address for points system Matchain Docs
PRIVATE_KEY Private key for secure operations Security Docs
KV_URL URL for key-value storage service KV Service Docs

Deploy

Instantly deploy your own copy of the template using Vercel or Netlify:

Deploy with Vercel Deploy with Netlify

Local Development

  1. Clone the repository:

    git clone https://github.com/open-format/community-platform.git
    cd community-platform
  2. Install dependencies:

    bun install
  3. Copy the .env.example file to .env and fill in the missing values:

    cp .env.example .env.local
  4. Start the development server:

    bun run dev
  5. Open http://localhost:3000 in your browser to see the application.