Originally my Harvard CS50W capstone project, Cryptotrax has evolved as my first deployed portfolio project that utilizes MongoDB, Express, React, and Node.js. My goal for this project was to improve on API call efficiency, utilize session and local storage, and create an overall smooth UX. Overall, this project only calls an external API twice every 3 minutes for most of the data. Users can view cryptocurrency rankings, daily best performing cryptocurrencies, favorite and track their chosen cryptocurrencies, see in-depth cryptocurrency data, and view cryptocurrency related news. (For the purpose of this portfolio project, I used archived news articles.)
- CoinMarketCap API:
- Cryptotrax uses the CoinMarketCap API to retreive the entire rankings table (200 cryptos) in 1 api call and the 20 best performers (also in 1 api call) on homepage load.
- Data is then stored in session storage for 3 minutes for efficient API utilization.
- The only exception is when a user views a specific cryptocurrency page—if the data isn’t in session storage.
- Cryptotrax uses a local API to retrieve the archived news directly from MongoDB.
- The favorites data makes no API calls, and instead saves the users' favorites into local storage and then fetches from session storage.
- Dark Mode: Offers a visually comfortable interface for users.
- Pagination & Search: Enables efficient navigation and filtering through cryptocurrency tables, enhancing UX.
- Built with MongoDB and Express