Giter Club home page Giter Club logo

mrfoosball's Introduction

Mr Foosball Build Status

Configuration

Create your test configuration in your project folder as ./mrfoosball.properties.

Example configuration file:

port=8080
slackToken=xoxb-1564223413123-adkjADAsjdladdj
connectionHbm2ddl=create-drop

Run App Locally

./gradlew [-Pproduction] composeUp

To see the logs of the container do

docker logs `docker ps --filter 'name=mrfoosball_mrfoosball' --format '{{.ID}}'`

To shut down all containers exec

./gradlew composeDown

Dockerize Production Version

./gradlew buildDocker

Terraform

Run Terraform only for network setup (vpc & dns)

terraform apply -target=module.network_setup

Creates the docker package and pushes it to the registry.

To get access to the registry do aws ecr get-login --no-include-email and execute the returned docker command.

mrfoosball's People

Contributors

bratke avatar dohse avatar gesundkrank avatar hvoecking avatar lexysoda avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

mbrtargeting

mrfoosball's Issues

Periodic ladder reset

Since there is not much movement anymore when it comes to the leaderboard a regular reset (6 month; every OKR Cycle) could spice things up a bit!

Fix ranking algorithm

What version of Kicker are you using?

aa4699f

Does this issue reproduce with the latest release?

Yes.

What operating system and processor architecture are you using?

Linux/x86

What did you do?

Play a lot of kicker games

What did you expect to see?

I expected my score to go up and be higher by now

What did you see instead?

My score is not increasing anymore. It's even going down.

The algorithm must be broken. Please fix it so my score is higher.

When match is unbalanced, print "walkover" instead of "game"

A new game started:
@Tormod Gjeitnes Hellen @Olga Zlobina vs. @paul.illg @ludwigbratke

Should be:

A new walkover started:
@Tormod Gjeitnes Hellen @Olga Zlobina vs. @paul.illg @ludwigbratke

For context, the team scores here are 30 vs. 2.

Might also want to exchange

@Tormod Gjeitnes Hellen and @Olga Zlobina have to crawl. How embarrassing!!

with

@Tormod Gjeitnes Hellen and @Olga Zlobina have to crawl. gg wp ez

Hall of Fame

Having periodic ladder resets could be used to create a Hall of Fame for winning individuals, winning team-combinations etc.
Also having pictures on the wall in our kicker room might make it prettier :)

Replace Zookeeper with DynamoDB

Since MrFoosball is using Events API instead of the RTM Api it no longer requires to obtain a lock. And since this was the main reason to use Zookeeper the others use-cases (queues, last crawl, running tournaments) can be moved to DynamoDB?? to get rid of the Zookeeper instance.

Introduce "true" team-skill

Hey Jan,

here is what i have in mind.

currently the team-skill is calculated by the sum of the individual skills.
the system already tries to balance this; but i believe that the calculation of team-skill is currently to easy.

my suggestion: (based on existing data; forget the ladder-reset i was asking for haha)

we should calculate the team-skill in the same way we calculate individual skills.

meaning:

if a team plays both players get +/- skill after a game for their individual score (like now)
but additionally the team should get a ID and a +/-team-skill-score
every time this team plays again this number would get more accurate.

this "true" team-skill should be used to figure out who is playing versus whom if 4 people queue for a match

and this team-skill should be displayed in the app

and all teams who every played should have (probably 2nd page) highscore-page in a similar way we have it for individual players. (maybe with a filter-option for the players name)

implicit this app will need to create new teams if persons never played together by assigning them an ID initially and start with a high variance.

i would like to pair-program this with you

Regards

Support only best-of-3

Would remove causes for several bugs. And makes stats more comparable. And we never play any other modes.

WDYT?

Create landing page for new Slack workspaces

When the app is added to new Slack workspaces it should redirect to some kind of landing page that gives an introduction to MrFoosball and how to add @MrFoosball to a channel.

Create landing page

The landing page should give an introduction to MrFoosball and explain why it's so cool and how you can install it.

Performance over time

It would be helpful to see the evolution of the score for every user over time. Maybe by clicking on their avatar a graph could appear!

Acceptance criteria:

  • Create an API method that returns the users performance over time (wins, loses, skill)
  • Create Frontend page that shows these stats (some kind of graph would be nice)

Add ability to add people to queue while game in progress

Sometimes I hear people playing, and I think to myself that I want to play kicker. But I can't add myself to the queue for the next game, so I have to wait until after the current game is done to add myself.

Acceptance Criteria

  • Users are able to add themselves to the queue while a game is running
  • Rematch works as before

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.