A state-of-the-art, real-time Planning Poker web application for remote agile teams.
- Node.js 18+ LTS
- npm 9+
# Install all dependencies
npm run install:all
# Build shared types
cd shared && npm run build && cd ..# Start both frontend and backend in development mode
npm run dev
# Or start individually:
npm run dev:frontend # Frontend at http://localhost:3000
npm run dev:backend # Backend at http://localhost:3001# Build entire project
npm run build
# Build individual packages
npm run build:frontend
npm run build:backend# Run all tests
npm run test
# Run tests in watch mode
npm run test:watch
# Type checking
npm run type-checkplanning-poker/
├── frontend/ # React + TypeScript + Vite + Tailwind CSS
├── backend/ # Node.js + Express + Socket.IO + TypeScript
├── shared/ # Shared types and utilities
├── .memory-bank/ # Project documentation and context
└── .claude/ # Development framework configuration
- React 18 with TypeScript
- Vite for fast development and optimized builds
- Tailwind CSS for responsive styling
- Zustand for state management
- Socket.IO Client for real-time communication
- React Router for navigation
- Node.js with Express
- Socket.IO for WebSocket communication
- TypeScript for type safety
- Zod for runtime validation
- In-memory storage with JSON persistence
- ESLint + Prettier for code quality
- Vitest (frontend) + Jest (backend) for testing
- Husky for git hooks
- Workspaces for monorepo management
- Real-time Estimation - Simultaneous voting with private estimates
- Session Management - Create and join sessions with codes/links
- Multi-facilitator Support - Multiple session managers
- Story Management - Add and track estimation progress
- Mobile Responsive - Works on all devices
- Export Results - CSV and text format exports
- No Registration - Instant access without accounts
GET /health- Server health checkGET /api/sessions/health- Session API healthPOST /api/sessions/create- Create new sessionPOST /api/sessions/join- Join existing session
- Real-time participant updates
- Live voting status
- Session state synchronization
- Story management events
- Create Session: Visit homepage and click "Create Session"
- Share Code: Share the 6-character session code with team members
- Join Session: Team members enter code and their name
- Add Stories: Facilitators add stories to estimate
- Vote: Team members privately select estimates
- Reveal: Facilitator reveals all votes simultaneously
- Consensus: Team discusses and sets final estimate
- Export: Download session results in CSV or text format
✅ Project Foundation - Monorepo with workspaces
✅ TypeScript Configuration - Strict mode with path mapping
✅ Build System - Vite (frontend) + TSC (backend)
✅ Development Environment - Hot reload and proxy setup
✅ Code Quality - ESLint + Prettier with consistent rules
✅ Styling System - Tailwind CSS with custom design tokens
✅ Shared Types - Zod schemas for runtime validation
✅ Basic UI Structure - Responsive React components
✅ Server Setup - Express + Socket.IO with middleware
- Set up comprehensive testing suite
- Implement core session management API
- Build real-time WebSocket communication
- Add participant tracking system
- Create voting and revelation mechanisms
- Implement story management
- Add export functionality
- Performance optimization
- Production deployment setup
Phase: Foundation Complete ✅
Progress: 25% (Infrastructure ready for core feature development)
Next: Implement core session management with TDD methodology