Berlin Clock

Kata: Berlin Clock

Author: 2021-DEV2-066

berlinclockgif

Rules & Requirements:

The rules are described below :

  • The Berlin Clock (Mengenlehreclock or Berlin Uhr) is a clock that tells the time using a series of illuminated coloured blocks, as you can see in the picture for this project.

  • The top lamp blinks to show seconds- it is illuminated on even seconds and off on odd seconds.

  • The next two rows represent hours. The upper row represents 5 hour blocks and is made up of 4 red lamps. The lower row represents 1 hour blocks and is also made up of 4 red lamps.

  • The final two rows represent the minutes. The upper row represents 5 minute blocks, and is made up of 11 lamps- every third lamp is red, the rest are yellow. The bottom row represents 1 minute blocks, and is made up of 4 yellow lamps.

Project Uses:

  • Test Driven Development (TDD)

  • UI Tests & Unit Tests

  • MVVM architecture

  • Dependency Injection

  • Extension Functions

  • View Bindings

Prerequisites

  • Android Studio 4+
  • Gradle 6.7.1

Setup

clone the master branch

 git clone https://github.com/2021-DEV2-066/BerlinClock.git

Running App

  • open the app in android studio
  • do a gradle build to install all the dependencies
  • run the application using Shift+F10

Unit Testing

  • open the files from the test folder
  • run the tests using ^+Shift+F10

UI Testing

  • open the files from the androidTest folder
  • run the tests using ^+Shift+F10

GitHub

View Github