Estimate and reflect, without the noise.
Planning poker and retros for Scrum teams, on one real-time whiteboard.
Free, no sign-up, open source.
| Planning poker | Retro |
|---|---|
|
|
With Node.js 20.9 or newer:
git clone https://github.com/spokvulcan/poker-planning.git
cd poker-planning
npm install
npx convex devThe first run creates a Convex deployment, writes its URLs to .env.local and then asks for an auth secret. Set it from a second terminal and start the app:
npx convex env set BETTER_AUTH_SECRET "$(openssl rand -base64 32)"
npm run devOpen localhost:3000. To go live on Vercel, set the build command to npx convex deploy --cmd 'npm run build' and add a production CONVEX_DEPLOY_KEY: each build then deploys the backend along with the app. On any other Node host, run npx convex deploy before you start the app. Either way, set the variables below.
Environment variables
On Convex, set with npx convex env set (add --prod for production):
| Variable | Used for |
|---|---|
BETTER_AUTH_SECRET |
Signing sessions. Required |
SITE_URL |
Sign-in and Jira OAuth callbacks. Required in production, defaults to http://localhost:3000 |
RESEND_API_KEY |
Emailing sign-in links, sent from EMAIL_FROM_ADDRESS |
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET |
Google sign-in (setup guide) |
JIRA_CLIENT_ID, JIRA_CLIENT_SECRET, JIRA_WEBHOOK_SECRET, TOKEN_ENCRYPTION_KEY |
Jira Cloud sync |
For Next.js, in .env.local or your host's settings:
| Variable | Used for |
|---|---|
NEXT_PUBLIC_CONVEX_URL, NEXT_PUBLIC_CONVEX_SITE_URL |
Reaching Convex. Written by npx convex dev locally |
NEXT_PUBLIC_SITE_URL |
Your public URL |
CONVEX_DEPLOY_KEY |
Deploying Convex from your host's build |
GIPHY_API_KEY |
GIF search on stickies. Pasted GIPHY, Tenor and Imgur links work without it |
NEXT_PUBLIC_GA_ID |
Google Analytics |
.env.example has notes on most of them.
Issues and pull requests are welcome. CONTEXT.md defines the words the code uses, and docs/adr records why it is built the way it is. Before opening a pull request:
npm run lint && npm run ts:check && npm test
npm run test:e2eCommit messages follow Conventional Commits, which release-please turns into releases and the changelog.
Built with Next.js, Convex, Better Auth, React Flow and shadcn/ui. MIT licensed.