The App is simple Stock Portfolio tracker. A user of the app can create a list of company stock and keep track of the current performance of the company stocks in his portfolio. The App also shows some important information related to the company **Financial, Earnings and Price chart **
Below is the App Screencast which demonstrates the App flow and screens
There are three main ViewControllers in this App
- MyPortfolioViewController
- PortfolioStockDetailedViewController
- ChartViewController
This controller is the main initial controller. This controller provides the functionality to search for a stock using the ticker symbol. You can add the stock to a list of stocks called portfolio by hitting return on the matched symbol. The controller uses a table view to display the list of stocks and is stored and fetched in persistent store in the App.
Further tapping on the selected row will transition the App to the next screen
This controller display additional financial information. Some of the information are related to stock performance, financial stats and eartnings. The "View Chart" button at the bottom of the screen transitions the App to chart view.
This controller displays the price chart of 1 month duration in a line chart
All the screens are navigable using the navigation controllers
- Xcode 9.2+
- Swift 4.0
- CocoaPods 1.5.3
3rd Party Libraries
- Alamofire & RxAlamofire - Networking
- RxSwift - Dependency on RxAlamofire
- Charts - Line Chart
The App using Xcode for development and build and Cocoa Pods for dependency management. Following steps are required before the project can be built using Xcode
- Install CocoaPods dependency management tool - https://cocoapods.org/#install
- Clone the project from the repository https://github.com/sujaybhowmick/StockPortfolioApp.git from github
- Install the dependencies for the project by executing the
$pod install
command from within the project's parent directory. This will create .xcworkspace file after it successfully installs the dependencies - Open the project by clicking on the .xcworkspace file and this should open up Xcode. Now build the App using Xcode
Command + B
keys
The Market data is provided for free by IEX through their IEX Developer Platform.
API documentation - https://iextrading.com/developer/docs/