Empowering Public Health Through Data
Diseases Data Tracker is dedicated to aggregating and visualizing the latest data on disease testing. Our mission is to empower public health professionals, researchers, and the community with clear, actionable insights to better understand trends across various illnesses. This application offers a comprehensive way to track positive test data and monitor health metrics in real time.
- Real-Time Data Scraping: Automated retrieval of data from trusted sources like the CDC and Worldometers.
- Interactive Visualizations: Dynamic dashboards and heatmaps that make data exploration intuitive.
- Historical Trends & Analysis: Statistical analysis and visual insights into disease trends over time.
- Customizable Reports: Easy-to-use interfaces to generate detailed reports on regional and national scales.
- Modular Architecture: Backend data processing and a feature-rich frontend built on PyQt for seamless user interaction.
-
Backend Data Processing:
- Scraping Data: The
scrape_cdc_covid_data()function in Backend/main.py retrieves the latest COVID-19 data using Selenium or Requests-HTML when appropriate. - Database Management: Functions like
create_tables(),insert_state_metrics(), andinsert_state_centroids()manage and update the SQLite database with current information. - Data Cleanup: Temporary files (e.g., RSV data) are automatically removed after processing via the
cleanup()function.
- Scraping Data: The
-
Frontend Visualization:
- Modern Dashboard: The ModernDashboard class provides an interactive GUI for accessing various data views.
- Dynamic Pages: Different pages (e.g., dashboard, stats, and heatmap) are implemented across the frontend/pages directory to visualize data through charts, tables, and maps.
- Interactive Navigation: Buttons and menus allow users to switch between detailed statistics and geographical heatmaps seamlessly.
-
Integration & Execution:
- The main application is initiated via the main.py file, which calls
back_main()to update data before launching the PyQt application. - The process is optimized for quick start-up times while ensuring data is always as current as possible.
- The main application is initiated via the main.py file, which calls
Ensure you have Python and pip installed. Then, install the required packages using:
pip install requests requests-html pyqt6 folium PyQt6-WebEngine lxml_html_clean matplotlib plotly pandas selenium markdown ollama- Ensure you have
libxcb-cursor0. - Ensure your version of
gccis12.1.0.
Simply run the main file with the current file structure:
python main.py- Backend: Contains scripts for data scraping, database operations, and data processing (Backend/main.py).
- Frontend: Houses the PyQt application components such as the dashboard and data visualization pages (frontend/main.py and frontend/dash.py).
- Database: The application uses an SQLite database (
health_data.db) to store and update health data. - Styles: Custom stylesheets are stored (e.g.,
styles.qss) to maintain a consistent look and feel of the GUI.