Before you begin, you'll need to set up accounts and configure a few services:
-
Open Format Dashboard
- Create an account at Open Format Dashboard
- Generate an API key to get your
OPENFORMAT_API_KEY
-
Privy Dashboard
- Create an account at Privy Dashboard
- Create a new app to get your
NEXT_PUBLIC_PRIVY_APP_ID
andPRIVY_APP_SECRET
from the Settings section of your Privy app - In the Login Methods section of your Privy app, enable:
- Discord
- Telegram
-
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
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 |
Instantly deploy your own copy of the template using Vercel or Netlify:
-
Clone the repository:
git clone https://github.com/open-format/community-platform.git cd community-platform
-
Install dependencies:
bun install
-
Copy the
.env.example
file to.env
and fill in the missing values:cp .env.example .env.local
-
Start the development server:
bun run dev
-
Open http://localhost:3000 in your browser to see the application.