Source code for QuizFrame
WARNING: Work in progress, ugly code, no warranties
- Simulates Farcaster embed locally with a form
- Stores app's state in a URL
- Uses
@vercel/og
to render images with React and Satori
Register a Redis database on Upstash.
Create .env.local
REDIS_URL="https://abc-xyz.upstash.io"
REDIS_TOKEN="aHVudGVyMg=="
Running locally
$ yarn
$ yarn dev
Navigate to http://localhost:3000/new and create a new Quiz, then open the Quiz at http://localhost:3000/q/example-uuid-0000
src/pages/api/og/[props].tsx
- renders the frame image based on current state. The URL contains all required serialized data, so Vercel can cache the image.
src/pages/q/[id].tsx
- the main engine, using <form>
to simulate Farcaster embed, handles POST requests in getServerSideProps
, handles the game state in Redux style.
src/pages/new.tsx
- quiz editor using spreadsheet-like interface.