Themakew / activity-tip-app

ActivityTip is a simple app to sample some basic features, such as API integration, ViewCode, and MVVM-C with RxSwift.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ActivityTip app

ActivityTip is a simple app to sample some basic features, such as: API integration, ViewCode, collectionView and MVVM-C with RxSwift.

Functionalities

✔️ A random activity is displayed for the user.

✔️ The user can request another random activity.

✔️ The user can see the activity details and status his status, such as: progress status and time spend doing the exercise.

Technologies and tools used

  • Swift: program language
  • RxSwift: for biding the data using the MVVM-C
  • UIKit: for building screen programatically
  • XCoordinator: for organize the app navigation
  • CoreData: save the activity info
  • AlamofireNetworkActivityLogger: for display the requests log in xcode console

Architecture used

Architecture used was MVVM-C, with some elements of Clean Architecture. Strong reference used: Repo.

API used for integration

API integration with this app was BoredAPI.

Because this API has a habit of returning response status code 200 for actually error responses, a workaround in the network layer was required.

How to run the project?

It is quite straightforward; it simply opens the ".xcodeproj" file, waits for SPM to install the dependencies, and then runs. 

TODO (Future Work)

  • List the user's saved activities, where he can see all his saved activities and open the details of the selected activity.

Made by Ruyther Costa | Find me on LinkedIn

About

ActivityTip is a simple app to sample some basic features, such as API integration, ViewCode, and MVVM-C with RxSwift.

License:MIT License


Languages

Language:Swift 100.0%