A comprehensive system for analyzing and visualizing COVID-19 data. The application processes both CSV and JSON data formats, providing interactive visualizations and statistical analysis of COVID-19 cases, deaths, and related metrics.
-
Data Import & Processing
- CSV file processing for case/death data
- JSON processing for detailed mortality statistics
- Data validation and cleaning
-
Data Analysis
- Time series analysis
- Growth rate calculations
- Age distribution analysis
- Mortality correlation studies
-
Visualization
- Interactive charts using Chart.js
- Multiple visualization types:
- Line charts for time series
- Bar charts for distributions
- Scatter plots for correlations
- Responsive design
-
Data Storage
- PostgreSQL database integration
- Efficient batch processing
- Data integrity validation
- Backend: Java Spring Boot
- Frontend: HTML5, CSS3, JavaScript
- Database: PostgreSQL
- Libraries:
- Chart.js for visualization
- Apache Commons CSV for data processing
- JDBC for database operations
src/
├── main/
│ ├── java/
│ │ ├── controller/
│ │ │ └── CovidAnalysisController.java
│ │ ├── storage/
│ │ │ └── DataStorage.java
│ │ └── dataIngestion/
│ │ └── DataImporter.java
│ └── resources/
│ └── templates/
│ ├── analysis.html
│ ├── comprehensive-analysis.html
│ ├── csv-analysis.html
│ └── json-analysis.html
-
Clone the repository
git clone https://github.com/yourusername/covid19-data-analysis.git
-
Configure PostgreSQL database
CREATE DATABASE covid_analysis;
-
Update application.properties with your database credentials
-
Build the project
mvn clean install
-
Run the application
mvn spring-boot:run
- Access the application at
http://localhost:8080 - Upload COVID-19 data files (CSV or JSON format)
- View generated visualizations and analysis
- Export or save results as needed
The project implements core OOP principles:
- Encapsulation: Data and methods are encapsulated within appropriate classes
- Inheritance: Utilizes Spring framework inheritance
- Polymorphism: Different chart types and data processing methods
- Abstraction: High-level interfaces for data operations