The objective of this application is to gather, clean, and analyze real-time data for the top 1000 cryptocurrencies by market capitalization using the CoinMarketCap API. The project aims to provide valuable insights into cryptocurrency market trends, including price fluctuations, trading volume, and price change percentages over various timeframes. By storing the cleaned data in an SQLite database, the project enables efficient data retrieval and empowers users to interact with the data through an intuitive Streamlit web interface. This project ultimately seeks to facilitate data-driven decision-making in the cryptocurrency space and enhance the understanding of cryptocurrency market dynamics.
The CoinMarketCap API is used to retrieve data for the top 1000 cryptocurrencies by market capitalization, providing various metrics such as price and trading volume.
Streamlit is used to create an interactive web interface for querying the cryptocurrency data and displaying insights.
Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python.
- Python 3.x
- Pip
-
Clone the repository.
git clone git@github.com:jdc338/CryptoAsset-DataPipeline.git
-
Navigate into the directory.
cd CryptoAsset-DataPipeline -
Setting Up a Virtual Environment.
To isolate the project dependencies, it's recommended to create a virtual environment. Run the following commands in your terminal to create and activate a virtual environment:
On macOS and Linux:
python3 -m venv venv source venv/bin/activateOn Windows:
python -m venv venv Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass .\venv\Scripts\activate
-
Install the required packages.
pip install -r requirements.txt
-
You'll need an API key from CoinMarket Cap.
-
Create a file named
env.pyin the project root directory. -
Store your API keys in
env.pyas environment variables. For example:os.environ.setdefault("CMC_API_KEY", "YOUR_API_KEY")
-
User Interaction
streamlit run interface.py
- Evidence that appropriate and justified tools were used to extract the data.
- Evidence that data is cleaned and transformed to the desired format.
- Evidence of appropriate data handling practices
- Data storage facility chosen, facilitated and justified.
- Code is well-organised and easy to read.
- Clear documentation of each step.
- James Corfe @jdc338
I hope you enjoy using the dashboard!