This project is an iOS application that allows you to search and view details of music and other media content using the iTunes API. The application is developed using the Viper architecture and has a user-friendly interface. Project Details
In this project, the iTunes API is utilized to search for music and media content. You can find detailed documentation for the API here.
The project follows the Viper architectural pattern, which separates the application's components into View, Interactor, Presenter, Entity, and Router. This architecture promotes modularity, testability, and scalability.
The main screen of the application features a search bar where users can enter search keywords. The search results are displayed in either a table view or a collection view, depending on the user's preference.
Tapping on a specific item in the search results takes the user to the detail view, which provides more information about the selected item. Users have the option to add the item to their favorites.
Users can add items to their favorites list from the detail view. They can also remove items from the favorites list, and a confirmation prompt is displayed to ensure user intent.
The project includes both unit tests and UI tests to ensure the stability and functionality of the application.
The favorites functionality is implemented using Core Data, allowing users to save their favorite items persistently.
If audio data is available for a selected item, pressing the audio button triggers the playback of the audio. If audio data is not available, the button visually indicates as if it is playing.
To get started with the project, follow these steps:
- Clone the repository to your local machine.
- Open the project in Xcode.
- Build and run the application on the iOS simulator or a physical device. Please note that you may need to provide your own API key or credentials for accessing the iTunes API. Refer to the API documentation for further instructions. Testing The project includes both unit tests and UI tests to ensure the functionality and stability of the application. You can run the tests in Xcode by selecting the target and clicking the "Run" button. Conclusion This Swift project demonstrates the usage of the iTunes API to create an iOS application for searching and viewing media content. It employs the Viper architecture for better code organization and testability. The project also incorporates features such as favorites management, audio playback, and unit/UI testing for a robust user experience. For any further questions or assistance, please feel free to reach out. Happy coding!


