Crypto Dashboard pulls latest cryptocurrency data to showcase price, market cap, supply, and other details. User can add additional cryptocurrencies to track in the table.
Controller:
- MarketDataController: fetches market data for top 100 cryptocurrencies (by market cap) from CoinGecko's API
- TrackedCryptoController: posts to and deletes from list of tracked cryptocurrencies on app's Express backend
- LoadTableController: fetches list of tracked cryptocurrencies from app's Express backend
Model:
- MarketDataModel: formats market data for display in PriceTable component
View:
- App: contains Header and Dashboard components
- Header: contains icon, typography, and dark mode toggle components
- Dashboard: contains CryptoSearch, FiatSelector, and PriceTable components
- PriceTable: displays market data by mapping each row object to the reusable component Row
- Dark mode
- Search cryptocurrencies to add to the table
- Select fiat currency
- Table header tooltip explains relevant concepts on mouseover
- Typography
- Switch
- Autocomplete
- TextField
- Table
- Tooltip
- MVC: controller loads the data, model formats the data, view displays the data to the end user
Express server
- Payload: list of selected cryptocurrencies
- Response: GET, POST, DELETE requests send 200 response along with payload
- Provide alt text on image (i.e. crypto logo)
- Ids and labels create proper markup for screenreaders
- Dark and light themes provide sufficient contrast between text and background color
- Avoid red / green colors that are difficult for colorblind individuals to disambiguate
- Using the command line,
git clone https://github.com/NicoleJaneway/crypto-dashboard.git npm installto download required libraries and create an optimized production buildnpm run start-localto deploy to http://localhost:3000/
Makes a GET request to 3rd-party API

Each change to the currencies selected makes a POST / DELETE request to Express backend


