Skip to content

alexvelikotckiy/Taskem

Repository files navigation

Taskem

Swift Version Platform License Xcode Build Status

Taskem is a way to browse and maintain your tasks and goals on any iPhone device. Keep an eye on your tasks with the ability to view everything. The project’s goal is to show practices of using VIPER architecture and Unit Testing in iOS using swift 5. In addition, the app has an example of code with Unit Test coverage.

The App Overview

Key Features

VIPER

This project's code follows the VIPER pattern, first introduced by Mutual Mobile. VIPER is an implementation of Clean Architecture to iOS apps. The word VIPER is a backronym for View, Interactor, Presenter, Entity, and Routing. Additionally, the app uses ViewModels to represent screens data.

Unit Testing

The app has an example of Unit Testing which includes more than 500+ test cases. Nimble is a framework which was used in unit testing. For the most of Test Doubles structures as mock, stub, dummy and spy was used code generation utility.

Firebase

Firebase is Google's real time NoSQL Backend as a Service (BaaS) platform that can ## stream data to millions of users at the same time through the power of Websocket.

This app demonstrates basic actions which can be made without any backend code.

Code generation

Also, for ease of coding, there were used code generation utilities:

Installation

The project uses CocoaPods and Carthage for dependencies management. In case you don't use any of the mentioned above:

  • sudo gem install cocoapods
  • brew install carthage or use another method

Compilation

In order to compile Taskem you need to do the following:

  • pod install
  • carthage update --platform iOS

The app uses firebase services, so you have to create your own firebase project in the Firebase Console and generate a .plist file. The projects has two types of these .plist files which are used in Production and Development schemes.

Also there are two files of color palettes. Which need to drop into ~/Library/Colors folder.

For debugging use the Development scheme.

Contributing

Bug Reports & Feature Requests

Please use GitHub issues to report any bugs or file feature requests. If you want fix it yourself or suggest a new feature, feel free to send in a pull request.

Pull requests

Pull requests should include information about what has been changed. Also, try to include links to issues in order to better review the pull request.

Contacts

License

Taskem is available under the MIT license.