The Cryptocurrency Dashboard is a front-end web application built using React, Vite, and Bootstrap. It fetches real-time cryptocurrency data from the CoinPaprika API, allowing users to explore up-to-date cryptocurrency information like prices, symbols, rankings, and more.
- React — A JavaScript library for building user interfaces and managing component states.
- Vite — A modern front-end build tool for fast development and build processes.
- Bootstrap — A CSS framework for building responsive and styled web applications.
- CoinPaprika API — A public API used to fetch current cryptocurrency data, including prices, symbols, and rankings.
- List of Cryptocurrencies: Displays a comprehensive list of cryptocurrencies with sortable columns (e.g., by symbol, name, rank).
- Search Functionality: Allows users to quickly search for a specific cryptocurrency by name or symbol.
- Detailed Coin Information: Clicking on a cryptocurrency opens a detailed page with more information about the selected coin.
Check out the live version of the app: Live Demo Link
To run this project locally, follow these steps:
git clone https://github.com/visualGravitySense/crypto-data.git
cd crypto-data
npm install
npm run dev
Now open http://localhost:5173 in your browser to view the application.
This project relies on the CoinPaprika API to fetch live cryptocurrency data. You can find the official API documentation here: CoinPaprika API Documentation.
Endpoints used:
- /v1/coins: Fetches a list of all available coins.
- /v1/tickers/{coin_id}: Fetches detailed information for a specific coin.
Example request to fetch detailed coin information:
GET https://api.coinpaprika.com/v1/tickers/{coin_id}
-
Homepage: Displays a list of cryptocurrencies with search and sorting features.
-
Cryptocurrency Detail Page: Shows detailed information for a selected cryptocurrency.
The application follows a component-based architecture, making it modular and easy to extend.
/src
/components # Reusable React components (e.g., CoinList, CoinDetail)
/pages # Application pages (e.g., Home, CoinDetailPage)
/styles # SCSS files for component-specific styling
/api # API helper functions for fetching data
Key Files:
App.jsx
— Main application file that contains routing and theme management.CoinList.jsx
— Displays a table of cryptocurrencies with sorting and search functionality.CoinDetailPage.jsx
— Displays detailed data for a specific coin.api.js
— Contains functions to interact with the CoinPaprika API.
-
Homepage:
- Displays a searchable and sortable list of cryptocurrencies.
- Search by symbol or name.
- Sort by cryptocurrency rank, symbol, or name.
-
Coin Detail Page:
- Click on any cryptocurrency to view detailed information, including price, rank, market cap, and more.
- Price Visualization: Add charts to display historical price changes for each cryptocurrency.
- Dark Mode: Implement dark mode for a better user experience in low-light environments.
- Expanded Coin Details: Show more information such as trading volume, supply, and price change trends.
-
Branching: When adding a new feature or fixing a bug, always create a new branch:
git checkout -b feature/add-new-feature
-
Commits: Write meaningful commit messages. For example:
git commit -m "Add search functionality to cryptocurrency list"
-
Pull Requests: After completing your feature, push your branch and open a pull request on GitHub:
git push origin feature/add-new-feature
Contributions are welcome! If you'd like to improve the project or fix any issues, please feel free to fork the repository and submit a pull request. Here’s how:
- Fork the repository.
- Create your feature branch (
git checkout -b feature/your-feature-name
). - Commit your changes (
git commit -m 'Add feature'
). - Push to the branch (
git push origin feature/your-feature-name
). - Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
- Screenshots: Add project screenshots in the relevant section to visually represent your application.
- API Key: If your API requires a key, provide instructions for configuring it. In this case, CoinPaprika does not require one, but if you add APIs requiring keys, explain the setup.
- Future Plans: Regularly update the "Future Plans" section to reflect ongoing and planned improvements.