bolivarbryan / PostsViewer

App for loading posts for your API.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PostsViewer

This Client fetches a post list from jsonplaceholder.typicode.com. By using it you can see the newests posts, favorite, delete and refresh them.

App Architecture

  • This Project was built with MVVM Architecture using Reactive Patterns
  • In order to implement a precise layout this client uses an Dependency called Snapkit (https://blog.pusher.com/mvvm-ios/).
  • Included CoreData as Persistency Manager
  • Using XCTest for Unit Tests

Dependencies (Using CocoaPods)

Checklist

  • Design App Architecture
  • Create XCode Project
  • Install Dependencies
  • Organize project structure
  • Create & Test Models
  • Create Networking Layer
  • Create Post List Controller with Layout
  • (Posts, Data Persistence) Connect Database with View Model Controller & Test
  • (Posts, Networking layer) Connect Networking layer with Database and update once data is fetched
  • Create Post Details View Controller with Layout
  • (Post Details) Connect ViewModel With Controller
  • (Favorite Post) Integrate Favorite Post
  • (Delete Post) Integrate Delete Posts
  • (Reload Data) Integrate Data refresh from API

Known issues

  • Animations for delete row after user swipes
  • Refresh button clears database and then fetch data from api.
  • Comments API data structure does not include a createdAt or id, this means that there is not a clear way to sort them unless the id is being automatically generated (like MYSQL auto increment)

About

App for loading posts for your API.


Languages

Language:Swift 99.7%Language:Ruby 0.3%