Skip to content

SofiaMNC/AbstractTimer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

23 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

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