Skip to content

This is the project where I developed game list app to learn VIPER architecture, UIKit and Swift.

Notifications You must be signed in to change notification settings

MrIronstone/Game-List-iOS-App

Repository files navigation

Game List iOS App

This is the project where I developed game list app to learn VIPER architecture, UIKit and Swift and networking.

List games on a grid and shows details for each game when clicked on a cell. Games can be wishlisted and removed from the wishlist.

App demo

Screen_Recording_2022-07-24_At_23.17.14.mp4

Demo Highlights

• Detail view properly handles the situation where the some details are not provided by the API.

• Detail view can be scrolled when needed and description area can be expended and collapsed back to 4 lines.

• In the result returned by the api, if the game's website and reddit pages exist, there are buttons that open their pages. If not, the keys are not displayed and the layout is automatically organized accordingly.

• When the details of any game are displayed, the name of that game, both on the games listing and on the wishlist, turns gray. And it can do this without reloading. I used the notification pattern for this. This color change is not permanent, it resets when the app is closed and opened.

• When any game is added to or removed from the wishlist, the wishlist button at the top right of the cells likewise gets the color it should be without needing to be reloaded. But this time, these are not temporary and when the application is opened again, the final state is restored.

• Pagination triggered when reaching to the bottom of the page.

• Shows empty case screen for each game list screen and wishlist screen if no results found.

Code Highlights

• Caches images

• Uses Swift's Result type

• Created very generic network engine so and so it can do a lot of networking with very little code

Project pdf file : https://drive.google.com/file/d/1gWElnBEQBFKQGPOJ5N6cp2NBgvV1WFQd/view?usp=sharing

About

This is the project where I developed game list app to learn VIPER architecture, UIKit and Swift.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages