https://github.com/dtroupe18/top100albums
Simple App to Display the top 100 albums across all genres from iTunes https://rss.itunes.apple.com/en-us
https://github.com/dtroupe18/top100albums
coordinator darkmode-ios13 ios-app ios-demo ios13 mvvm-architecture ohttpstubs snapshot-testing swift uitableviewdiffabledatasource xctest
Last synced: about 2 months ago
JSON representation
Simple App to Display the top 100 albums across all genres from iTunes https://rss.itunes.apple.com/en-us
- Host: GitHub
- URL: https://github.com/dtroupe18/top100albums
- Owner: dtroupe18
- Created: 2020-04-01T21:15:02.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-07-22T05:47:44.000Z (almost 3 years ago)
- Last Synced: 2025-02-08T20:32:44.650Z (4 months ago)
- Topics: coordinator, darkmode-ios13, ios-app, ios-demo, ios13, mvvm-architecture, ohttpstubs, snapshot-testing, swift, uitableviewdiffabledatasource, xctest
- Language: Swift
- Size: 17.7 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Top100Albums
Simple App to Display the top 100 albums across all genres from iTunes `https://rss.itunes.apple.com/en-us`This project is also implemented using [UITableViewDiffableDataSource](https://developer.apple.com/documentation/uikit/uitableviewdiffabledatasource) if you're interested in that checkout [this branch](https://github.com/dtroupe18/Top100Albums/tree/diffableDataSource) or more specifically this [viewController](https://github.com/dtroupe18/Top100Albums/blob/diffableDataSource/Top100Albums/UI/Screens/TopAlbums/TopAlbumsViewController.swift).
## Setup Repo
1. `git clone [email protected]:dtroupe18/Top100Albums.git`.
2. `cd Top100Albums`.
3. `open -a "/Applications/Xcode.app" *.xcworkspace`.
4. Sign with your certificate.
5. Run.## Sample Screenshots
Light was dark mode was handled automatically using [system colors](https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/color).


## Sample Video

## Architecture
Top100 Albums is an [MVVM](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93viewmodel) app that follows the [coordinator](https://benoitpasquier.com/coordinator-pattern-swift/) pattern.
## Cocoapods
Cocoapods were added to version control so you shouldn't need to install them.
Pods:
1. [Alamofire](https://github.com/Alamofire/Alamofire)
2. [CocoaLumberjack](https://github.com/CocoaLumberjack/CocoaLumberjack)
3. [DeviceKit](https://github.com/devicekit/DeviceKit)
4. [KingFisher](https://github.com/onevcat/Kingfisher)
5. [PromiseKit](https://github.com/mxcl/PromiseKit)
6. [SnapKit](https://github.com/SnapKit/SnapKit)
7. [SwiftFormat](https://github.com/nicklockwood/SwiftFormat)
8. [SwiftLint](https://github.com/realm/SwiftLint)Testing Pods:
1. [OHHTTPStubs](https://github.com/AliSoftware/OHHTTPStubs)
2. [SnapshotTesting](https://github.com/pointfreeco/swift-snapshot-testing)## Snapshot Testing
1. Run tests using the `iPhone 8` simulator iOS 14.
2. The version of iOS on the simulator can cause snapshot tests to fail.