Skip to content

carayolthomas/randomUserApp

Repository files navigation

Build Status codecov

👋 About

This app is the technical assessment as a iOS developer candidate at Lydia app.

I had to build an app that fetch data from randomuser.me API, display a paging list of retrieved users and finally show a details view about the selected user. I also had to deal with connectivity issues.

🐍 Architecture

I decided to deal with this small app like it could be a big one. So I've used the VIPER architectural pattern. This is a kind of Clean Architecture for iOS applications.

🛠 Dependencies

I tried to use as few dependencies as possible but I had to take shortcut sometimes to save some development time. I use CocoaPods as dependency manager. Here the list of the three dependencies I used :

  • Disk to help me save and retrieve Codable struct into the app supporting files
  • SwiftEntryKit to show error popup to the user without requiring user action to dimiss
  • Kingfisher to load and process remote images

🕵️‍♂️ How to test

Clone the project

Run git clone git@github.com:carayolthomas/randomUserApp.git

Install dependencies

Run pod install

Workspace

Open RandomUserApp.xcworkspace

Build & Run 🔥

🎁 Licence

This app is released under the MIT License.

Releases

No releases published

Packages