Skip to content

SofiaMNC/AbstractTimer

Repository files navigation

Abstract Timer

Sofia Chevrolat (June 2021)

forthebadge forthebadge

NB : This project has been carried out for the Slumber Group's Challenge.


Overview

This app contains a single view controller with the following views and functionalities:

Views

  • A red square in the top left corner
  • A white rectangle in the middle of the screen
  • A purple rectangle in the white rectangle
  • A blue square in the bottom right corner
  • A timer in the bottom left corner

Functionalities

  • On tap on the white or purple rectangle:

    • the white and purple rectangles resize
    • the timer restarts
  • In landscape mode, the purple rectangle disappears.

  • The app has been localized to French and uses DateComponentsFormatter as much as possible to garantee the correct locale presentation of the timer's digits.

  • The app supports the following accessibility settings:

    • Voice Over
    • Dynamic Type
    • Bold Text

Testing

The app comes with a set of tests and UI tests to validate its behavior.


Requirements


Usage

  • Open the project in Xcode and run the code.
  • Run the tests

NB: A special UI test case has been created with the name "DeliverableScenarioInAction.swift", to enable easy visualization of the requested test scenario, asked to be delivered as a film in the requirements.

Running this UI test will actually execute and display the scenario in the simulator.


Detailed description

Requirements ✅

All requirements as expressed in the attached document have been respected in terms of:

Functionality

  • initial positioning of all the views
  • correct resizing of the white and purple rectangles on tap
  • restart of the timer on tap
  • localization of the app's content (to French) using a Localizable.strings file

Programming Concepts and Techniques

  • Composition
  • Object Oriented Design (classes, inheritance)
  • Protocols
  • Auto Layout with Safe Area
  • Trait Collections
  • Accessibiltiy

Additional implementation details 🎁

  • The code follows an MVVM architecture
  • Tests and UITests have been implemented with a 88.8% coverage as indicated by Xcode

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages