https://github.com/skamranahmed/estimatex
estimatex is a cli tool designed to facilitate story point estimation of tasks/tickets directly from the terminal.
https://github.com/skamranahmed/estimatex
Last synced: about 2 months ago
JSON representation
estimatex is a cli tool designed to facilitate story point estimation of tasks/tickets directly from the terminal.
- Host: GitHub
- URL: https://github.com/skamranahmed/estimatex
- Owner: skamranahmed
- Created: 2024-11-19T14:07:23.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-11-29T13:59:28.000Z (6 months ago)
- Last Synced: 2025-02-09T20:29:16.179Z (3 months ago)
- Language: Go
- Homepage:
- Size: 1.5 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## 👨💻 EstimateX (`estimatex`)
`estimatex` is a Command-Line Interface (CLI) tool designed to facilitate **story point estimation** of tasks/tickets directly from the terminal.
This client communicates with the [`estimatex-server`](https://github.com/skamranahmed/estimatex-server) via a **WebSocket connection**.
#### 🚀 Demo
##### Room Create Demo
##### Room Join Demo
### 🙌 Why I Built This
In my team, story point estimation is an integral part of our sprint planning process. It's a collaborative effort that helps us gauge the complexity of tasks and plan our work effectively.While we often use open-source web based tools for this, I wondered if I could create a CLI-based tool for the same process.
That curiosity led me to build `estimatex`, a cli-based tool for story point estimation.
The motivation was to:
- Explore WebSocket-based real-time communication.
- Create a lightweight, terminal-first alternative for story point estimation sessions.
### ✨ Features
#### Room Management
- **Create Estimation Rooms**: Create private rooms for estimation sessions with configurable maximum capacity
- **Join Existing Rooms**: Join ongoing estimation sessions using room IDs
- **Real-time Updates**: Get real-time updates in your terminal session when team members join the room#### Estimation Process
- **Story Point Voting**: Choose from standard Fibonacci sequence values (1, 2, 3, 5, 8, 13, 21) for estimations
- **Anonymous Voting**: Votes remain hidden until all team members have submitted their estimates
- **Vote Revelation**: Room admin can trigger vote revelation once all members have voted
- **Results Display**: Clear tabulated display of voting results showing:
- Distribution of votes
- Individual member votes
- Vote count per story point value#### User Experience
- **Interactive CLI**: Simple command-line interface with clear prompts and emoji-enhanced feedback
- **Secure WebSocket Communication**: Uses WSS (WebSocket Secure) protocol in production for secure real-time communication
- **Graceful Exit**: Clean connection termination with CTRL+C, ensuring proper cleanup of WebSocket connections#### Administrative Controls
- **Room Capacity Management**: Automatic handling of room capacity limits
- **Session Control**: Room admin has control over when to start voting and reveal results
- **Development Mode**: Built-in development mode for testing with local server setup### 🛠️ Installation & Usage
#### Option 1: Download Binary (Recommended)
Pre-built binaries are available for Linux, macOS, and Windows. Download the latest release from the [releases page](https://github.com/skamranahmed/estimatex/releases).1. **For macOS/Linux:**
```bash
# Download the appropriate tar.gz for your OS
tar xvf estimatex__.tar.gz# Make the binary executable
chmod +x ./estimatex# Move binary to a directory in your PATH
sudo mv estimatex /usr/local/bin/
```2. **For Windows:**
- Download the `.zip` file for Windows
- Extract the archive
- Add the extracted directory to your PATH or run `estimatex.exe` directly#### Option 2: Run from Source
If you prefer to run from source, you'll need Go installed on your system.1. Clone the repository:
```bash
git clone https://github.com/skamranahmed/estimatex.git
cd estimatex
```2. Install dependencies:
```bash
make dep
```3. Run the application:
```bash
make run
```#### Development Mode
By default, the application runs in production mode connecting to the hosted server. To run in development mode:1. Set `isDevelopment = true` in `main.go`
2. Ensure you have the [estimatex-server](https://github.com/skamranahmed/estimatex-server) running locally
3. Run using `make run`### 📝 License
This project is licensed under the [MIT License](https://choosealicense.com/licenses/mit/)