practicalli / practicalli/learn-clojure

small project - competition winner

Open
#4 0 comments 0 reactions 1 assignee View on GitHub

@practicalli-johnny is already working on this.

Since Sep 3, 2023.

Dominant language
Makefile
Stars
6
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Walk-through of a project to calculate the winner of a competition which involves points awarded for multiple sequential events

Create a practicalli/minimal Clojure project

clojure -T:practicalli/create :name practicalli/competition-predictor

Example competitions

  • Formula1 driver championship
  • Formula1 constructors championship
  • Formula E drivers championship
  • American Football
  • Austrailian Rules football
  • Rubgy Union
  • Soccer, e.g. UK Premiership
  • esports ?
  • other tournaments ??

Each type of competition has its own point scoring scheme and number of events

  • consider a data definition to codify the rules of each competition
  • then make the code abstract enough to process the rules of each competition by processing the rules data and data from the result of each event.

Interesting feedback

  • competition data - number of events, dates, points available for a specific event (i.e. Formula 1 has a sprint race with points at some events, but not all)
  • unassailable lead / winder before the end of the competition
  • points remaining for leader to win the competition (extend to top 3-5 in competition)
  • Prediction of winner based on history of events (limit to current year or small set of years)
  • Prediction of number of events remaining before likely winner
Related

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.