Mobile (iOS) application for interacting with the BrickSet LEGO database.
- Browse the catalog of current and retired LEGO sets.
- Search for a specific set by number, name, or theme, or scan the barcode to look up the set details.
- Track the sets/minifigures you own or want using your Brickset.com account
- Read the latest news from Brickset.com
- Xcode 10 or greater (https://developer.apple.com/xcode/)
- CocoaPods 1.8.0 or greater (https://cocoapods.org)
- In order to access the Brickset services you'll need to request your own API key from
https://brickset.com/tools/webservices/requestkey
. After getting a key you'll need to update inConstants.swift
.
- Clone the source to your local machine using
git clone <URL>
(repository URL can be copied from the 'Clone or Download' button above) - Open a terminal and go to the directory where you cloned the source
- Install the required CocoaPods using
pod install
- Open the project in Xcode - use the xcworkspace rather than xcodeproj, or you will get build errors from the CocoaPods dependencies not building
- Update
Constants.swift
with your Brickset and Rebrickable API keys (see Requirements above) - Build and run using the Xcode Simulator
- Experiment with alternate (more compact) layout for Set Detail view
- Implement display of set description in Set Detail view
- Implement UPC/EAN scanning support
- Implement search history
- Implement support for instructions in Set Detail view
- Implement support for parts list in Set Detail view
- Implement owned/wanted updates on Set Detail view
- View parts list for sets (using Rebrickable API)
- Implement filtering on Sets List view
- Implement filtering on My Sets view
- Implement filtering on Parts List view
- Add part detail view
- Add more detail to price information (new view with prices in all available currencies + current prices from Bricklink)
- Implement support for additional images in Set Detail view
- Implement TouchID/FaceID support for login
- Implement About/Credits views
- Refactor Profile view to use table view cells
- Improved transition animation (zoom?) for displaying large set images
- Implement force/3D touch actions on Set List view
- Implement force/3D touch actions on Set Detail view
- More Profile Information / Editing Profile (requires Brickset API changes)
- Local/offline storage of set data (using Core Data)
- Dark Mode support
- iPad support, iPad specific layouts
- Theme/Set data graciously provided by Brickset using it's web services API.
- Parts data provided by Rebrickable using it's web services API.
- Alamofire - HTTP networking library
- AlamofireImage - Image (download) component library for Alamofire
- AlamofireNetworkActivityIndicator - Controls the visibility of the network activity indicator on iOS using Alamofire
- AlamofireNetworkActivityLogger - Network activity logger for Alamofire
- AlamofireRSSParser - An RSS parser response handler for Alamofire
- Cosmos - A star rating control for iOS and tvOS
- KeychainAccess - Simple Swift wrapper for Keychain that works on iOS, watchOS, tvOS and macOS
- SwiftLint - A tool to enforce Swift style and conventions