← All projects

Java · CI/CD · University assessment

Monopoly (Java)

A terminal Monopoly game for a first-year assessment, where the real lesson was automated quality checks: each stage only counted once it passed a Gradle build with test-coverage and code-style gates.

  • Java
  • Gradle
  • Checkstyle
  • GitLab CI
Terminal output from a Monopoly turn: the board of stations and roads, a dice roll of 6 and 5, the player's balance and a tax payment.

Quality gates

To complete each stage the code had to pass a Gradle buildAndReport task requiring at least 50% line coverage for every class, every test passing and fewer than 10 Checkstyle errors. Builds and tests ran in GitLab CI pipelines; that repository is private, so the code is mirrored on GitHub.

What I learned

It was my first Java project, so it's where I turned my knowledge of object-oriented programming (encapsulation, inheritance, polymorphism) into practice, and where I learned to lean on automated tests to catch bugs early.