CryptoExtract is a web application designed as a final project for the course Acceso Inteligente a la Información. The application provides tools to scrape, index, and analyze cryptocurrency data fetched in real-time from Yahoo Finance.
- Home Page: Overview of the project and the last data update timestamp.
- Load Data: Fetches the latest cryptocurrency data from Yahoo Finance and indexes it.
- List All Data: Displays all indexed cryptocurrencies in a sortable and scrollable table.
- Search Cryptocurrencies: Search for cryptocurrencies by name using a robust search engine.
- Top 5 by Percentage Change: Displays the top 5 cryptocurrencies with the highest percentage change in the last 24 hours.
- Price Range Filter: Allows users to filter cryptocurrencies by specifying a price range.
- Scatter Plot (Price vs. Volume): Visualizes the relationship between cryptocurrency prices and trading volume using an interactive chart.
- Market Cap Chart: A bar chart comparing the market capitalization of cryptocurrencies.
- Compare Cryptocurrencies: Compare two selected cryptocurrencies side by side.
- Glossary: A detailed glossary explaining key cryptocurrency-related terms.
- Django: The primary web framework.
- Whoosh: Used for indexing and searching cryptocurrency data.
- BeautifulSoup: For web scraping cryptocurrency data from Yahoo Finance.
- HTML/CSS: For structuring and styling pages.
- JavaScript: For interactivity, including confirmation modals and dropdown menus.
- Plotly: For creating interactive data visualizations.
- Python: The core language used for the backend.
- Python 3.12 or higher
pip
for installing Python packages
-
Clone the repository:
git clone https://github.com/jormunrod/CryptoExtract.git cd cryptoextract
-
Create a virtual environment:
python -m venv venv source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Apply migrations:
python manage.py migrate
-
Start the development server:
python manage.py runserver
-
Open your browser and navigate to
http://127.0.0.1:8000
.
- Click on the "Load Data" button in the application to scrape and index the latest cryptocurrency data.
cryptoextract/
│
├── core/
│ ├── templates/core/
│ ├── static/core/
│ └── ...
├── scraper/
│ ├── templates/scraper/
│ ├── whoosh_utils.py
│ ├── utils.py
│ └── ...
├── crypto_index/
│ ├── _MAIN_1.toc
│ ├── _MAIN_WRITELOCK
│ ├── ...
├── last_updated.txt
├── manage.py
└── requirements.txt
CryptoExtract is licensed under the MIT License.
This project was developed by Jorge Muñoz Rodríguez as part of the course Acceso Inteligente a la Información.
Enjoy using CryptoExtract! 🚀