- Tools:
- Xcode 14.3 with latest iOS SDK
- Clone repository:
# over https:
https://github.com/PatrykKaczmarek/MusicBrowser.git
# or over SSH:
[email protected]:PatrykKaczmarek/MusicBrowser.git
- Open
MusicBrowser.xcodeproj
file and build the project.
- Respect Swift API Design Guidelines
- The code must be readable and self-explanatory - full variable names, meaningful methods, etc.
- Don't leave any commented-out code.
The application isn't rocket science, and that's intentional. It has been created with an assumption that there is still some part of code using Objective-C. This implementation is encapsulated, so it doesn't leak outside to the newer parts of the app.
Requirements:
- Implementation consists of two languages:
Objective-C
andSwift
. This is intentional to show interoperability. - UI is written mainly in
UIKit
with a small usage ofSwiftUI
. - The application allows the user to add albums to favorites and store this information persistently on the device.
- User Interface design:
- is pretty simple.
- playlists should scroll vertically.
- albums added to a playlist should scroll horizontally.
- API:
- contains some minor issues. The app handles them gracefully.
This error comes from an API layer. It means that a mocked response on Mocky has expired and had been deleted. To fix this issue, please do following steps:
-
Open response.json - it's located in this repository
-
Open Mocky
-
Click on
New Mock
-
Copy the content of response.json file into the
HTTP Response Body
, like this: -
Click on
GENERATE MY HTTP RESPONSE
-
Copy request's path (red underlined) and replace the value in PlaylistRequest.path computed variable
-
Re-run the app