This project aims to help you discover new cool and balanced teams for Basket, Football, ... and other team sports!
If you're always playing with the same team, it's great but you might miss the opportunity to learn from different people and sometimes if someone is being replaced the teams can be unbalanced. This is where Compose Teams might help you!
Compose Teams will generate all the possible teams and order them from the most balanced teams to the most unbalanced ones. For that, you'll need to add at least 10 players*** and give them a grade. Once you've selected 10 players for the current game, a delta will be displayed for every generated teams to show the difference between two teams. The lowest the delta is, the better.
*: Compose Teams needs 10 players exactly for now but I plan to support other numbers of people
At the beginning, it was a small challenge we had with Victor Noël: Create a functionnal demo within <= 1h. And we did it! 🎉. Few days later, I decided to go a bit further and started to refactor the code to work as much as possible with streams (rxjs) and also provide a better UI (with angular-material).
The project is now continuously deployed (thanks to Travis) at this address: https://maxime1992.github.io/compose-teams
If you prefer to run it on your own, just clone the project:
git clone https://github.com/maxime1992/compose-teams.git
cd compose-teams
yarn install
yarn run build:prod
and the built project will be into the dist folder.
(you might serve it with http-server
for example).
Yes! Definitely.
It would be really nice to see those features landing to Compose Teams:
- Accept more or less than 10 players exactly to generate the games
- Run the computation to generate all the teams within a web worker to improve the responsiveness of the app
- Add an option panel to define some constraints (player 1 and 2 should be in the same team or in different teams)
- Make some unit and E2E tests!
If you don't feel like coding, you might just report issue(s) or ask for improvement(s) here.
On the other hand, if you're willing to contribute (and don't be shy), please be my guest: PR are welcome!
- Fork the repo
- Clone it from your account:
git clone https://github.com/YOUR-GITHUB-USERNAME/compose-teams.git
- Create a new branch with a name that sums up your idea:
git checkout -b my-branch-name
- Let your fingers roll on the keyboard
- Commit
git add . && git commit -m "feat: a great feature"
- Push
git push
- Open a pull request from your repo at https://github.com/YOUR-GITHUB-USERNAME/compose-teams and compare it against
maxime1992/compose-teams
master branch
Let's make Compose Teams as cool as possible! 😄