A comprehensive Spring Boot application that provides real-time COVID-19 analytics and tracking capabilities with an interactive dashboard. This application aggregates data from multiple sources to deliver detailed insights into global pandemic statistics.
- Real-time Data Tracking: Automatically fetches and updates COVID-19 data every 30 minutes
- Global Coverage: Tracks cases, deaths, recoveries, and vaccinations across all continents
- Interactive Dashboard: Modern, responsive web interface with dynamic charts and filters
- Multi-dimensional Analytics: View data by country, state/province, age group, gender, and variant
- Comprehensive Metrics:
- Total cases, deaths, recoveries, and active cases
- New cases, deaths, and recoveries (daily changes)
- Testing data and vaccination statistics
- Hospitalization and ICU admission rates
- Case fatality rates and test positivity rates
- Interactive Charts: Dynamic visualizations using Chart.js
- Advanced Filtering: Filter by continent, date range, age group, gender, and variant
- Search Functionality: Quick country search with real-time results
- Responsive Design: Optimized for desktop, tablet, and mobile devices
- Custom Presets: Pre-configured filters for high-risk areas, vaccination focus, and testing analysis
- Scheduled Data Updates: Automatic data refresh every 30 minutes
- RESTful API: JSON endpoints for chart data and country-specific information
- Error Handling: Robust error handling with comprehensive logging
- Performance Optimized: Efficient data processing and caching mechanisms
- Backend: Java 8+, Spring Boot 2.5.2
- Frontend: HTML5, CSS3, JavaScript, Bootstrap 5.1.3
- Charts: Chart.js for interactive visualizations
- Data Processing: Apache Commons CSV
- Build Tool: Maven 3.2+
- Template Engine: Thymeleaf
Before running this application, ensure you have the following installed:
- Java Development Kit (JDK): Version 8 or later
- Maven: Version 3.2 or later
- IDE: IntelliJ IDEA, Eclipse, or VS Code (recommended)
- Git: For cloning the repository
Dashboard Overview
git clone https://github.com/tarun/TraceCase.git
cd TraceCasemvn clean installmvn spring-boot:runOpen your web browser and navigate to:
http://localhost:8090
TraceCase/
βββ src/
β βββ main/
β β βββ java/com/company/coronavirustracker/
β β β βββ controllers/
β β β β βββ HomeController.java # Main dashboard controller
β β β β βββ ChartDataController.java # REST API for chart data
β β β βββ models/
β β β β βββ LocationStats.java # Data model for COVID statistics
β β β βββ services/
β β β β βββ CoronaVirusDataService.java # Data fetching and processing
β β β βββ CoronavirusTrackerApplication.java
β β βββ resources/
β β βββ templates/
β β β βββ home.html # Main dashboard template
β β βββ static/
β β β βββ js/
β β β β βββ dashboard.js # Frontend JavaScript
β β β βββ global_covid_data_enriched.csv
β β βββ application.properties
β βββ test/
βββ pom.xml # Maven dependencies
βββ README.md
βββ enrich_covid_data.py # Python script for data enrichment
βββ test_*.html # Test HTML files for UI components
The application can be configured through src/main/resources/application.properties:
# Server configuration
server.port=8090
# Data source configuration
# The application uses enriched CSV data from local resourcesThe application currently uses enriched COVID-19 data from:
- Local CSV files with comprehensive statistics (
global_covid_data_enriched.csv) - Support for multiple data formats and sources
- Automatic data validation and error handling
- Python data enrichment script for enhanced analytics
GET /- Main dashboard pageGET /states?country={country}- Get state/province data for a specific country
GET /api/chart-data?continent={continent}- Get chart data for visualization- Parameters:
continent(optional): Filter data by continent
- Parameters:
{
"continents": ["Asia", "Europe", "North America", ...],
"allCountryLabels": ["USA", "India", "Brazil", ...],
"allCountryTotalCases": [50000000, 40000000, 30000000, ...],
"totalCases": 200000000,
"totalDeaths": 4000000,
"totalRecoveries": 180000000,
"totalActiveCases": 16000000
}- Bar Charts: Country-wise case comparisons
- Line Charts: Trend analysis over time
- Pie Charts: Distribution of cases by region
- Customizable Views: Toggle between different metrics and time periods
- Geographic Filters: Continent and country selection
- Demographic Filters: Age group and gender analysis
- Temporal Filters: Date range selection
- Variant Analysis: COVID-19 variant tracking
- Metric Selection: Cases, deaths, recoveries, tests, vaccinations
- Automatic Refresh: Data updates every 30 minutes
- Live Statistics: Current global totals and trends
- Alert System: Notifications for significant changes
The project includes several test HTML files for UI component testing:
test_all_fixes.html- Comprehensive UI testingtest_chart_fixes.html- Chart functionality testingtest_modal_fixes.html- Modal component testingtest_testing_vaccination.html- Vaccination data testingtest_modal.html- Modal interface testing
We welcome contributions to improve the TraceCase COVID-19 Analytics Dashboard! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow Java coding conventions
- Add comprehensive tests for new features
- Update documentation for any API changes
- Ensure responsive design for mobile compatibility
- Test UI components using the provided test HTML files
Application won't start:
- Ensure Java 8+ is installed and JAVA_HOME is set
- Check if port 8090 is available
- Verify all Maven dependencies are downloaded
Data not loading:
- Check internet connectivity for data fetching
- Verify CSV file paths in resources
- Review application logs for error messages
Charts not displaying:
- Ensure JavaScript is enabled in browser
- Check browser console for JavaScript errors
- Verify Chart.js library is loading correctly
UI Component Issues:
- Use the test HTML files to isolate and debug UI problems
- Check browser compatibility and responsive design
- Real-time Notifications: Push notifications for significant changes
- Mobile App: Native mobile application development
- Predictive Analytics: Machine learning models for trend prediction
- Geographic Visualization: Interactive maps with case distribution
- Export Functionality: PDF/Excel report generation
- Multi-language Support: Internationalization for global users
- API Rate Limiting: Enhanced API security and performance
- Data Validation: Advanced data quality checks and validation
- Enhanced Testing: Automated UI testing and integration tests
- Data Sources: Johns Hopkins University CSSE COVID-19 Dataset
- Frontend Libraries: Bootstrap, Chart.js
- Backend Framework: Spring Boot
- Community: All contributors and users of this application
If you encounter any issues or have questions:
- Issues: GitHub Issues
- Documentation: Wiki
- Email: tarungjsheela@gmail.com
Note: This application is for educational and informational purposes. Always refer to official health organizations for the most accurate and up-to-date COVID-19 information.
Last Updated: December 2024 Developer: Tarun





