You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
2.7 KiB

# 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!
<center>
<img src="./resources/stockMarket.01.jpg?raw=true" style = "width: 210px !important; height: 420px !important;"/>
<img src="./resources/stockMarket.02.jpg?raw=true" style = "width: 210px !important; height: 420px !important;"/>
</center>