EstiMate - Planning Poker
Educational Planning Poker application demonstrating WebSocket real-time communication, Spring Boot backend, React frontend, story estimation, and comprehensive testing with Newman and Playwright.

š§ Overview
A real-time collaborative story estimation tool (Planning Poker) for agile teams. The application demonstrates WebSocket communication, session management, voting systems, and analytics with Spring Boot and React.
EstiMate is an educational project built with Spring Boot 3.2, React 18, and WebSocket. The system includes real-time participant updates, multiple estimation methods (Fibonacci, T-Shirt sizes, Powers of 2), story management, voting analytics, and comprehensive testing with Newman (38 API tests) and Playwright (24 E2E tests).
Topics covered:
- š WebSocket ā Real-time bidirectional communication
- šÆ Session Management ā Code-based session sharing
- š Data Visualization ā Voting charts and analytics
- ā” React ā Modern UI with Vite, TailwindCSS, Framer Motion
- ā Testing ā API tests (Newman) and E2E tests (Playwright)
š Key Features
- Flexible Estimation Methods ā Fibonacci, T-Shirt sizes, Powers of 2, Linear, Custom
- Real-Time Collaboration ā WebSocket for live participant updates and vote synchronization
- Story Management ā Create, manage, activate, and finalize user stories
- Voting System ā Vote anonymously, reveal results, track consensus
- Analytics Dashboard ā Voting distribution charts, consensus indicators, statistics
- Session Sharing ā 6-character session codes for team collaboration
- Data Export ā Export session data in JSON/CSV formats
- Comprehensive Testing ā 38 API tests + 24 E2E tests
āļø How It Works
# Backend
cd backend && mvn spring-boot:run
# Frontend (separate terminal)
cd frontend && npm install && npm run dev
Access app at http://localhost:5173, API at http://localhost:8080
š¬ Quick Start
git clone https://github.com/pandaind/estimate.git
cd estimate
# Terminal 1
cd backend && mvn spring-boot:run
# Terminal 2
cd frontend && npm install && npm run dev
Access app at http://localhost:5173
š Topics Covered
- š ļø WebSocket Communication ā Real-time bidirectional messaging
- š Spring Boot ā REST API, WebSocket configuration, H2 database
- š React Development ā Hooks, context, state management
- š Data Visualization ā Charts with libraries, analytics
- š” Modern Frontend ā Vite build tool, TailwindCSS, Framer Motion
- ā API Testing ā Newman/Postman automation
- š E2E Testing ā Playwright cross-browser testing
- š CI/CD ā GitHub Actions pipeline
š§ Potential Extensions
Areas for experimentation:
- Add user authentication and authorization
- Implement story points velocity tracking
- Create team retrospective features
- Add story templates and categories
- Implement voting timer functionality
- Create historical session analytics
- Add integration with Jira/Azure DevOps
- Implement multi-room support for organizations
š Documentation
Available guides:
- Future Features & Roadmap ā Planned enhancements
- Backend Documentation ā Spring Boot setup
- Frontend Documentation ā React development
- API Testing Guide ā Newman tests
- E2E Testing Guide ā Playwright tests
š¤ Contributing
This is a learning project. You can:
- Study WebSocket implementation patterns
- Fork and experiment with new features
- Try different estimation methods
- Add documentation or examples
- Submit improvements via pull requests