# Stock Market ### Exercise Develop an app that will simulate a `real-time` stock market. You may use [Yahoo](https://algotrading101.com/learn/yahoo-finance-api-guide/#:~:text=Why%20should%20I%20use%20the%20Yahoo%20Finance%20API%3F,-Free&text=One%20good%20reason%20is%20because%20it%20can%20be%20completely%20free.) API for data retrieval. Upon signing up, users will be given `1,000,000` fake dollars to use within the app for buying and holding stocks. The app should have the following features: - Login/logout functionality - Ability to buy and hold stocks - Historical charts of stock prices - Retrieval of data for a particular stock for the last year or since the company went public - Real-time updating of stock data (updating at least 5 times per second) Make sure to manage states via any of the following patterns: - BLoC - Provider - MVC ### Todo list - Route for login/signup page - Route with all the purchased stocks - Route to display historical data of the chosen stock - All the data must be fetched in real-time - Choose 20 stocks to monitor ### Objective - A login/signup page - A page displaying all purchased stocks - A page displaying historical data for the chosen stock You should fetch all data in real-time and choose 20 stocks to monitor. The objectives of this exercise are to practice fetching data in real-time, visualizing custom widgets in real-time, and implementing authentication and authorization services. To complete this exercise, you will need to do the following: - Research the Yahoo API and determine how to use it to retrieve stock data. - Implement the login/logout functionality and user account management. - Allow users to buy and hold stocks within the app, using the fake dollars provided to them. - Implement the ability to view historical charts of stock prices. - Retrieve data for a particular stock for the last year or since the company went public. - Update stock data in real-time, at least 5 times per second. - Choose 20 stocks to monitor and display their data within the app. - Use one of the specified patterns (BLoC, Provider, MVC) to manage state within the app. - Implement the specified routes for the login/signup page, purchased stocks page, and historical data page. - Test the app thoroughly to ensure that it is functioning correctly and all objectives have been met. - Remember to follow best practices for coding and app development, and be sure to document your code and any decisions made during the development process. Good luck!