Skip to content

React SPA. A modern, multilingual task estimation tool for Agile teams. Real-time Firebase synchronization, secure anonymous private sessions, customizable themes, and instant collaborative voting.

License

Notifications You must be signed in to change notification settings

damianczer/Scrum-Poker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

33 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Scrum Poker

GitHub stars GitHub watchers GitHub issues

Estimate tasks easily with a beautiful, real-time React Application powered by Firebase!

πŸ› οΈ Technologies Used

✨ Features

🎯 Core Functionality

  • πŸ”’ Anonymous Sessions - No registration required, just enter your name
  • πŸ†” Unique Session IDs - Create or join sessions with shareable links
  • πŸƒ Hidden Voting - Votes are concealed until reveal
  • πŸ‘₯ Live Participants - See who's in the session and who voted
  • πŸ“Š Smart Calculations - Automatic average and individual estimates
  • ⚑ Real-time Sync - Powered by Firebase Realtime Database

🎨 Personalization

  • 🌈 Theme Selection - Choose from 5 color themes:
    • πŸ’š Green
    • πŸ’™ Blue
    • 🩡 Turquoise
    • 🩢 Grey
    • 🧑 Orange
  • 🌐 Multi-language Support - English & Polish
  • πŸͺ Persistent Settings - Preferences saved in cookies

πŸ–₯️ Technical Highlights

  • πŸ“± Desktop-optimized (limited mobile support)
  • πŸ”„ Real-time UI updates across all connected clients
  • πŸ’Ύ Cookie-based user preferences (theme, language)
  • πŸš€ Built as SPA (Single-Page Application)
  • βš™οΈ Optimized production builds with Webpack

πŸ”₯ How It Works

Real-time Collaboration

The application uses Firebase Realtime Database to synchronize all actions instantly across all participants:

  • When someone joins β†’ everyone sees it
  • When someone votes β†’ vote count updates live
  • When cards are revealed β†’ results appear simultaneously for all users

Cookie Management

User preferences are stored locally using cookies:

{
  "color": "blue",     // Selected theme
  "language": "en"     // Selected language
}

These settings persist across sessions (365 days) for a personalized experience.

πŸ“Έ Preview

Main View:

image

Manu:

image

Estimation Session:

image

🚦 Quick Start

1. Prerequisites

2. Installation

git clone https://github.com/damianczer/scrum-poker.git
cd scrum-poker/application
npm install

3. Development Server

npm start
  • The app runs on http://localhost:3000/
  • Hot reload enabled for development
  • If port 3000 is busy, you'll see a message in the console

4. Production Build

npm run build
  • Generates optimized files in dist/ folder
  • Minified & compressed for maximum performance
  • Ready to deploy to any static hosting

πŸ“ Usage Guide

Starting a Session

  1. Enter your username on the login screen
  2. Create a new session or join existing with a session ID
  3. Share the session link with your team

Estimation Flow

  1. Discuss the task with your team
  2. Select a card with your estimate (votes are hidden)
  3. Wait for everyone to vote (live counter shows progress)
  4. Reveal cards when ready
  5. View results: individual estimates + calculated average
  6. Reset for the next task

Customization

  • Click the βš™οΈ Settings icon in the footer
  • Change theme from 5 available colors
  • Switch language between English and Polish
  • Settings are automatically saved

🌍 Live Demo

Try it here: https://www.damianczerwinski.pl/scrum-poker/

πŸ—‚οΈ Project Structure

scrum-poker/
β”œβ”€β”€ application/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/     # React components
β”‚   β”‚   β”œβ”€β”€ styles/         # Sass stylesheets
β”‚   β”‚   β”œβ”€β”€ translations/   # i18n files
β”‚   β”‚   └── index.js        # Entry point
β”‚   β”œβ”€β”€ public/
β”‚   β”‚   └── index.html      # HTML template
β”‚   β”œβ”€β”€ webpack.config.js   # Webpack configuration
β”‚   └── package.json        # Dependencies
└── README.md

πŸ”§ Configuration

Firebase Setup

To use your own Firebase instance:

  1. Create a Firebase project at console.firebase.google.com
  2. Enable Realtime Database
  3. Add your config to the application
  4. Update security rules for anonymous access

πŸ’‘ Support & Feedback

πŸ“„ License

MIT License - feel free to use this project for your team!

πŸ™ Acknowledgments

  • Built with ❀️ for Agile teams
  • Inspired by Planning Poker methodology
  • Powered by modern web technologies

"In Scrum we trust, in estimates we discuss!" πŸŽ‰

Star ⭐ this repo if you find it useful!

About

React SPA. A modern, multilingual task estimation tool for Agile teams. Real-time Firebase synchronization, secure anonymous private sessions, customizable themes, and instant collaborative voting.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published