Giter Site home page Giter Site logo

foostour's Introduction

About the app

Our friend wants to organize a Foosball tournament at her work, but there are many single players who need a teammate. While preparing a lunch she wrote a simple app that will help her to organize the tournament. Unfortunately, she got stuck due too messy code and asks you, the real programmer, for help. Make the code great again and the tournament reality!

In the kitchen we've found a cookbook with some notes on margins about the app:

Currently all the teams are created randomly. It's fine, but sometimes it would be good to pair players to have all the teams on similar level of strength. Therefore an attacker would be paired with defender or those who can play on both positions. Of course, those who are comfortable on both positions can play with each other in a team. Two defenders or two attackers are weaker than other combinations, so should be paired this way only when there are no other options.

The Assignment

There are two tasks in this assignment:

  1. Refactor the code to make it clean.
  2. Add the pairing functionality.

Refactor the app to make its code clean. While doing so try to also apply, where applicable, design principles and patterns known to you. They may be SOLID, GRASP patterns, Design Patterns, etc.

Do whatever you think is needed to make the code easier to change, test, and understand. It's a software, remember? If we wouldn't be allowed to change it, it would be implemented as hardware. ๐Ÿ˜‰

How to submit solutions

TL;DR Copy this repository into your own private repository and add us as collaborators for a review.

The steps are, basically, as follows:

  1. Create a private repository. Do not create a fork!
  2. Copy this repository - either add it as a remote to your repository or just download a zip and commit into your repository. It doesn't matter. Just have a copy of this repository in your own private repository.
  3. Solve the assignment.
  4. In repository settings add olszowski as a collaborator.
  5. Wait for code review.
  6. Have fun and good luck! ๐Ÿ˜‰

Outro

In case of any questions or comments, please create an issue here.

foostour's People

Contributors

dependabot[bot] avatar pwojnowski avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

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.