Skip to content

VideoGame database app iOS with SwiftUI, UIKit, CoreData, RestAPI, VIPER, and Modularization

Notifications You must be signed in to change notification settings

muizidn/PlayRadar-iOS

Repository files navigation

PlayRadar: Unveiling the Gaming World through RAWG API

😀 Haha, ChatGPT detected ya?

Welcome to PlayRadar, an exceptional application designed to immerse you in the captivating realm of gaming, all powered by the RAWG API.

A Glimpse of Features

Game List Detail Favorites
Game List Detail Favorites
  1. Game Listing: Explore an extensive array of games, complete with eye-catching cover images, engaging titles, release dates, and ratings.
  2. Game Details: Delve deep into the intricacies of your beloved games, including comprehensive publisher insights, play count statistics, and vivid game descriptions.
  3. Favorites List: Curate your personal collection of favorites, ensuring you keep an organized track of the games you hold dear.
  4. Favorite Toggling: Seamlessly mark and unmark games as favorites with a simple tap.

Cutting-edge Technology Stack

PlayRadar harnesses the power of modern technologies to deliver an unparalleled user experience.

  1. Swift: The backbone of the application, ensuring robust performance and dynamic functionalities.
  2. UIKit: The framework that breathes life into the app's elegant user interface.
  3. SwiftUI: Leveraged for SwiftUI previews, allowing you to experience the controller's appearance firsthand.
  4. URLSession: Empowered to make swift and efficient network requests to the RAWG API.
  5. CoreData: The cornerstone of the local database, expertly managing the storage of game and favorite information.
  6. XCTest: Employed for both Unit Tests and UI Tests, meticulously validating the app's functionality.
  7. Dependency Injection: A strategic approach that enhances testing capabilities, ensuring a sturdy and resilient application.

A Dependency-free Journey

PlayRadar is meticulously crafted without the reliance on third-party dependencies. This not only guarantees exceptional performance but also instills maintainability and security at its core.

Architectural Brilliance: VIPER

The architecture of the application is artfully based on the VIPER pattern. This meticulous pattern boasts a clear division of responsibilities, fostering modularization that eases maintenance and facilitates future scalability.

Modular Modules for Elevated Excellence

Diagram

The PlayRadar project is thoughtfully modularized, enhancing flexibility and cross-platform harmonization:

  1. PlayRadariOS: The heart of the iOS app, orchestrating the captivating user interface.
  2. PlayRadarMacOS: Safeguarding core business logic's platform independence, beckoning the world of macOS.
  3. PlayRadar: The epicenter of core business logic, ensuring the app's functionality is as brilliant as its vision.
  4. PlayRadarRemote: The conductor of API symphonies, orchestrating data retrieval from the RAWG API. Ready to transition to GraphQL in the future.
  5. PlayRadarLocal: The keeper of local database treasures, ensuring seamless access to favorites and game particulars. Poised for a future transition to the Realm framework.

Feel free to embark on a journey of exploration, contribute your insights, and immerse yourself in the rich universe of gaming with PlayRadar!

About

VideoGame database app iOS with SwiftUI, UIKit, CoreData, RestAPI, VIPER, and Modularization

Topics

Resources

Stars

Watchers

Forks