- Access a full list of all available games.
- View in-depth details for each game, including descriptions, release dates, and more.
- Easily add games to your favorites for quick access.
- Perform searches across the entire game library or within your favorites for seamless navigation.
- Swift
- SwiftUI
- SwiftData
- MVVM
- Unit Testing
- Lottie
- Xcode: Version 16
- Language: Swift 6.0
- Minimum iOS Version: 17.0
- Dependency Manager: SPM
The Games App is built using the MVVM (Model-View-ViewModel) architectural pattern. This architecture helps to separate the business logic and data handling from the user interface, making the app more modular, testable, and maintainable.
- Model:Represents the data and business logic of the application. It is responsible for data operations, including fetching, storing, and managing application data. The Model communicates with external services or databases, ensuring that the app has the most current and accurate information.
- View: The user interface of the app, responsible for displaying data to users and handling user interactions. The View observes the ViewModel for changes in the data and updates the user interface accordingly, ensuring a responsive and dynamic experience.
- ViewModel:Acts as an intermediary between the Model and the View. It processes the data received from the Model and prepares it for display in the View. The ViewModel also handles user input, translating it into actions that affect the Model. This separation allows for better testing of business logic without the need for UI components, making it easier to ensure the app behaves as expected.
- Clone this repository:
git clone https://github.com/ertekinbatuhan/Games.git- Navigate to the project directory:
cd Games- Open the Project in Xcode:
open Games.xcodeproj- Add required dependencies using Swift Package Manager:
- For Lottie, navigate to File > Add Packages in Xcode and enter:
https://github.com/airbnb/lottie-ios.git- Set your API key in your project. You can place the following line in the appropriate file:
static let apiKey = "SET_YOUR_API_KEY"
- Run the application:
- Select your target device or simulator.
- Click the Run button (or use the shortcut Cmd + R) to build and run the application.

