CoinMarketCap Cryptocurrency Tracker

About

A simple and handy tool for crypto currency investors to track the price, marketcap, and predict possible future price of the top 10 crypto currency.

Stack

  • JavaScript
  • HTML
  • CSS
  • ReactJS
  • Redux
  • NodeJS
  • Heroku
  • Netlify
  • MaterialUI

GitHub Links

Github Frontend Github backend

Video Walkthrough

Watch Video

Live

Live Link

Project Details

I wanted to build a responsive web application that displays real-time data of the top 10 cryptocurrencies using the coinmarket cap API.

Web Stack and Explanation

Backend
For the backend, I chose to use Express, a simple and fast Node.js web framework, to fetch data from the CoinMarketCap API. I also used Axios, a promise-based HTTP client, to make HTTP requests to the API. The backend was implemented in a separate folder named "backend" inside the root folder of the project.
Frontend
Frontend: The frontend was built with Create React App, a popular and widely-used tool for building React applications. React is a JavaScript library for building user interfaces, and is known for its fast rendering speed and ability to handle complex UI components. For styling, I used Bootstrap, a popular CSS framework, to quickly build responsive and mobile-friendly UI components.

Problems and Thought Process

One of the main challenges I faced during the development of this project was handling the real-time data updates. I decided to implement a polling mechanism that fetches new data from the CoinMarketCap API every 5 minutes, and updates the UI accordingly. This was done using a setInterval function in the frontend that calls a function to fetch data from the backend API. Another challenge I faced was handling the large amount of data returned by the CoinMarketCap API. I needed to extract the relevant data for each cryptocurrency and display it in a clear and concise way. To accomplish this, I used various React components to render the data. Overall, the development of this project was a great learning experience for me, and I was able to create a functional and useful tool for tracking the performance of cryptocurrencies in real-time.