Planning Poker for agile teams, built with React, TypeScript, and Vite. Real‑time collaboration is powered by Convex.
- Collaborative Planning: Create and join rooms for agile estimation.
- Real-time Sync: Instant updates powered by Convex.
- Frontend: React 19, TypeScript, Vite 7.
- Backend: Convex (Real-time database & functions).
- Styling: Tailwind CSS, shadcn/ui, Lucide React icons.
- State Management: Zustand.
- Routing: React Router.
- Node.js 18+ (20 LTS recommended)
-
Install dependencies:
npm install
-
Start development servers:
npm run dev
This runs both the Convex backend and Vite frontend.
- Frontend: http://localhost:3000
- On first run, Convex will prompt you to configure the project and save environment variables to
.env.local.
Configuration is automatic via the Convex CLI. Key variables in .env.local:
CONVEX_DEPLOYMENT: Convex deployment name.VITE_CONVEX_URL: Convex HTTP URL.
To reconfigure: npx convex dev --until-success
| Command | Description |
|---|---|
npm run dev |
Run Convex and Vite in parallel |
npm run build |
Build the frontend (Vite) |
npm run lint |
Lint and typecheck |
npm run storybook |
Start Storybook |
npx vitest |
Run tests |
src/- App source (Pages, Components, Store)convex/- Backend schema, queries, and mutationsdist/- Build output
- Frontend: Build with
npm run buildand deploy thedist/folder to any static host (Vercel, Netlify, etc.). - Backend: Deploy via Convex CLI/Dashboard. Ensure
VITE_CONVEX_URLis set in your production environment.
Contributions welcome! Please open an issue for significant changes and follow existing code styles.
MIT License. © 2025 Federico Raggi.