The "Crypto Compare" project is a comprehensive data-driven web application aimed at facilitating the comparison of various cryptocurrencies. Leveraging modern development technologies such as Node.js and React, the application integrates the Charts.js framework for advanced data visualization. This project serves as a practical application to explore and analyze intricate cryptocurrency data sets in a user-friendly and informative manner.
The following dependencies have been installed for this project:
- @testing-library/jest-dom: ^5.16.5
- @testing-library/react: ^13.4.0
- @testing-library/user-event: ^13.5.0
- axios: ^1.3.4
- bootstrap: ^5.2.3
- chart.js: ^4.2.1
- chartjs-adapter-date-fns: ^3.0.0
- chartjs-adapter-moment: ^1.0.1
- coinranking-api: ^1.0.0
- date-fns: ^2.29.3
- moment: ^2.29.4
- react: ^18.2.0
- react-chartjs-2: ^5.2.0
- react-dom: ^18.2.0
- react-router-dom: ^6.10.0
- react-scripts: 5.0.1
- web-vitals: ^2.1.4
Before getting started, ensure you have the following software installed:
To set up the project and install the necessary dependencies, follow these steps:
-
Clone the repository from GitHub using the following command:
git clone https://github.com/your-username/your-repository.git
Replace your-username and your-repository with your actual GitHub username and repository name.
-
Navigate to the project directory:
cd your-repository
-
Install the required dependencies using NPM:
npm install
This will install all the dependencies listed in the package.json file, including the specific versions specified for each package.
-
Handle any potential errors or conflicts during the installation process, and refer to the documentation for each dependency for more detailed setup instructions if needed.
Make sure to replace the placeholders such as your-username and your-repository with your actual GitHub username and repository name. Feel free to customize the instructions as needed to match your project specifics.
The "Crypto Compare" application offers the following key features:
- Landing Dashboard: Presents a comprehensive overview and breakdown of the most relevant properties of the selected cryptocurrency data set, using interactive Chart.js elements to visualize data.
- Comparison Page: Includes a dedicated page for comparing two distinct objects from the data set. It utilizes Bar, Pie, and Radar chart to outline and compare the properties of the selected objects.
- Timeline Page: Displays a dynamic Line Graph that maps the entries of at least 5 different properties across the entire dataset. The timeline is interactive and allows users to change the displayed property via an input.
The development process involved the following stages:
The project was conceptualized with the primary aim of simplifying the process of comparing various cryptocurrencies. Taking inspiration from existing cryptocurrency comparison platforms, I brainstormed and designed wireframes to ensure an intuitive user interface.
The project's wireframes were meticulously designed, including the home, compare, and timeline screens.
During the development phase, I focused on creating a user-friendly cryptocurrency comparison tool with a comprehensive range of functionalities. The project involved meticulous exploration of cryptocurrency data and the seamless integration of APIs to facilitate efficient data retrieval and visualization. With a strong emphasis on user experience, I strived to ensure intuitive navigation and clear presentation of complex cryptocurrency data. Leveraging the latest technologies in the blockchain space, the project aimed to provide users with a seamless and insightful comparison of various cryptocurrencies, empowering them to make informed investment decisions.
Throughout the development process, I encountered significant challenges primarily focused on implementing complex chart functionalities and effectively pulling data from the Coinranking API. Overcoming these obstacles provided valuable insights into the intricacies of data visualization and API integration, contributing to an enhanced understanding and proficiency in handling intricate cryptocurrency data sets.```
Moving forward, the "Crypto Compare" project has several areas for potential enhancements, including code optimization, increased user interactivity, and enhanced visual engagement. I plan to streamline the code further, improve overall consistency, and introduce additional interactive features to enhance the user experience.
The "Crypto Compare" project has provided me with an invaluable learning experience, highlighting the significance of effective communication, dedicated effort, and technical expertise. Despite the challenges encountered during the development process, this project has been instrumental in enhancing my problem-solving abilities and solidifying my understanding of essential software development principles. I look forward to implementing additional features and improvements in the future, leveraging the valuable knowledge gained from this project.
For any inquiries or further information, please feel free to reach out to:
- Tristan Storm - [221195@virtualwindow.co.za]






