/VideoGamesApp

The application is a video game library that allows users to search for games by genre, name, and view details such as release date and reviews. It also allows users to add games to their favorites and add notes to games, which are stored using Core Data.

Primary LanguageSwiftMIT LicenseMIT


Logo

Video Games App

Video Games Guide

Downloads Stargazers

Table Of Contents

About The Project

This application uses the RAWG.io API to provide users with access to a selection of video games. Users can filter the list of games by genre, search for games by name, view game details, and add games to their favorites list. Users can view game details such as the name, image, genre, release date, and number of reviews. The application also allows users to add notes to games and view their added notes. The app also supports notifications to alert users when a note is successfully sent. The application utilizes Core Data to store the user’s notes. The layout and design of the app is intuitive and easy to navigate, allowing users to quickly and easily find the information they need.

Built With

The application is built using the Swift language and used the Swift Package Manager for managing dependencies. The user interface is designed using Storyboards. Core Data is used to provide data persistence, which allows the app to save and retrieve data even when closed. The Model-View-ViewModel design pattern is used to separate the data and logic of the application from the visual elements, making it easier to maintain and update the codebase.

Usage

Home Screen

This screen displays a list of games, which serves as the main screen of the application. Users can view the list of games and filter them by category. They can also search for games by their names. The screen features a tableview, a UISearchBar and an ImageView, which are used to display the games. The layout of the screen is designed to provide an easy and intuitive way for users to access and navigate through the list of games. Users can filter the games according to the categories, search the games by their names and can see the game's images on the screen.

Detail Screen

This screen displays detailed information about the selected game. Users can view the game's name, image, genre, release date, and number of reviews. The screen also has a star button, which allows users to add the selected game to their favorites. A comment button is also provided that redirects users to the commenting screen. Users can view the game's details and add it to their favorite list, or they can add notes to the game. The layout of the screen is designed to provide a clear and easy to understand overview of the game's information, making it easy for users to access all the details they need.

Favorite Screen

This screen displays a list of the user's favorite games. Users can view the details of the games they have marked as favorite, including the name, image. The screen is designed to easily access the user's favorite games and manage them according to their preferences. Built using Tableview.

Note Add Screen

This screen allows users to add notes to the selected game. Users can add a title and a description of their notes. This screen is designed to make it easy for users to add notes to the games they are interested in and to keep track of their thoughts and opinions about the games. This process is done using Core Data. If the note is successfully sent, a notification will be sent to the user.

Note Screen

This screen allows users to view the notes they have added to games. Users can see the title and the description of the notes. They also have the ability to edit and save their selected notes or delete them. The screen is designed to provide a simple and easy way for users to view and manage their notes about the games. The notes are retrieved from the device's Core Data storage and displayed on the screen.

License

Distributed under the MIT License. See LICENSE for more information.

Authors