Skip to content
/ Showdown Public

Showdown is a selfhosted open source web app/server, you can use for remote planning poker® with scrum teams. Try at http://showdown.fly.dev/#/

License

Notifications You must be signed in to change notification settings

Foso/Showdown

Repository files navigation

Showdown - Scrum Poker Web App

jCenter PRs Welcome

Introduction 🙋‍♂️ 🙋‍

Showdown is a selfhosted web app and server, you can use for planning poker™. You can try it at http://showdown.fly.dev/#/

Show some ❤️ and star the repo to support the project

GitHub stars GitHub forks GitHub watchers Twitter Follow

🎨 Features

  • Automatic estimation timer for your estimations.

  • Choose your estimation sequence:

    Select Settings>Change GameMode, on the page below you can select between: Fibonacci, T-Shirt, Modified Fibonacci, Power of 2 or you can choose Custom to add a custom sequence

  • Room passwords

  • Auto reveal votes when all players have voted (Click the checkbox "AutoReveal Votes" under Settings)

🗺️ Roadmap

🏠 Architecture

🛠️ Built With

Kotlin

jCenter

Project Structure

  • server - A Ktor project with the server for Showdown
  • web - The frontend of Showdown, written with Kotlin and Compose for Web
  • shared - Shared module for server and web, which contains specific classes/interfaces like Error types or responses

Development

Backend

  • Run ShowdownApplicationKt to start the Ktor server

Frontend

Run development webpack server

  • Run ./gradlew -t web:jsBrowserRun inside the project folder to start the development server for the Frontend. The server will run on port 3001. Open "localhost:3001" inside your browser.

Build production frontend files

  • Run the gradle task deployToServerAssets, it will build the webproject and copy the files to the server project

Deployment

On Heroku

You can use this button Deploy to Heroku

On Docker

Build image with

docker build -t foso-showdown . 

Launch container from image with

docker run -p 23567:23567 foso-showdown

On other server

You can download the jar from a release tag or when you want to build it yourself you can use the gradle task stage. It will build a .jar inside server/build/install/server-shadow/lib. You can run it with "java -jar $nameOfTheJarFile"

✍️ Feedback

Feel free to send feedback on Twitter or file an issue. Feature requests and Pull Requests are always welcome.

📜 License


This project is licensed under Apache License, Version 2.0

Copyright 2020 Jens Klingenberg

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.