Estimator is a collaborative task estimation application designed to streamline the process of estimating tasks within a team. It enables hosts to create estimation sessions, invite participants, collect anonymous estimates, and reveal the results in a controlled manner.
-
Room Management: Hosts can create and share estimation rooms.
-
Anonymous Estimation: Participants can provide estimates without revealing their input.
-
Controlled Results: Only the host can reveal the submitted estimations.
-
Real-Time Updates: Seamless interaction powered by WebSockets.
Estimator is implemented as a monorepo with the following components:
- Backend: A RESTful API built with Go and a WebSocket server for real-time communication between hosts and participants.
- Frontend: A user-friendly interface developed in Vue.js.
- CI/CD: Automated pipelines for testing, building, and deploying using GitHub Actions.
.
├── backend/ # Go-based backend code
├── frontend/ # Vue.js-based frontend code
├── Makefile # Build and run commands
├── docker-compose.yml # Docker Compose configuration
└── README.md # Project documentation
-
Go 1.23+
-
Node.js 23+
-
Docker and Docker Compose or Make
git clone https://github.com/yourusername/estimator.git
cd estimator
Build and run the application using Docker:
docker compose up
- Install dependencies:
make install-frontend
- Build the project:
make all
- Run the development environment:
make run-backend
make dev-frontend