An open API service indexing awesome lists of open source software.

https://github.com/INQTR/poker-planning

PokerPlanning.org is perfect for Agile workflows, our tool makes consensus-based estimation simple, fun, and effective.
https://github.com/INQTR/poker-planning

agile estimation planning-poker poker-planning scrum scrum-poker stories

Last synced: about 2 months ago
JSON representation

PokerPlanning.org is perfect for Agile workflows, our tool makes consensus-based estimation simple, fun, and effective.

Awesome Lists containing this project

README

        

# PokerPlanning.org

PokerPlanning.org is an open-source, user-friendly online planning poker tool designed to enhance Scrum team collaboration and improve estimation accuracy. Our mission is to provide a free, accessible, and enjoyable planning poker experience for teams worldwide ๐ŸŒ๐ŸŒŽ๐ŸŒ!

![PokerPlanning.org Room demo](client/public/poker-planning-demo.png "Room Screen")

## Features ๐Ÿš€

- Free to use
- Real-time collaboration
- Intuitive user interface
- Instant results visualization
- Customizable estimation scales (WIP)

# TODO

- [ ] Customizable estimation scales
- [ ] Spectator mode

## Technology Stack ๐Ÿ› ๏ธ

### Server-side

- Rust ๐Ÿฆ€
- async-graphql ๐Ÿš€

### Client-side

- TypeScript ๐Ÿฆบ
- React โš›๏ธ
- Apollo Client ๐Ÿ“ก
- shadcn/ui ๐Ÿ˜ฎโ€๐Ÿ’จ

## Getting Started ๐Ÿ

### Prerequisites

- Git
- Rust
- Node.js and npm

### Setup

1. Clone the repository:

```sh
git clone https://github.com/INQTR/poker-planning.git
cd poker-planning
```

2. Install cargo-watch (for development):
```sh
cargo install cargo-watch
```

### Running the Server

1. Navigate to the server directory:

```sh
cd server
```

2. Start the development server:
```sh
cargo watch -x run
```

### Running the Web App

1. Navigate to the client directory:

```sh
cd client
```

2. Copy the example environment file:

```sh
cp .env.local.example .env.local
```

3. Install dependencies:

```sh
npm install
```

4. Start the development server:

```sh
npm run dev
```

## Running Tests ๐Ÿงช

This project uses Vitest for unit and integration tests, and Playwright for end-to-end tests.

### Unit and Integration Tests

To run unit and integration tests:

```sh
npm t
```

### End-to-End Tests

To run end-to-end tests:

```sh
npm run test:e2e
```

To run end-to-end tests with UI:

```sh
npm run test:e2e:ui
```

## Deployment

This project can be deployed using DigitalOcean App Platform. Use the following commands with the DigitalOcean CLI:

```sh
doctl auth init
doctl apps create --spec spec.yaml
doctl apps list
doctl apps update APP-ID --spec=spec.yaml
```

## Contributing ๐Ÿค

We welcome contributions! Please feel free to submit a Pull Request.

## License ๐Ÿ“œ

This project is open source and available under the [MIT License](LICENSE).