This is a simple Java CLI application that fetches, displays, and stores PM2.5 air quality data. The project is designed for educational purposes and demonstrates core Object-Oriented Programming (OOP) concepts.
- Fetch PM2.5 data from an external API
- Display data in the terminal
- Simple text-based visualization (e.g., bar chart)
- Save data to CSV file
- Load data from CSV file
- Java (pure Java, no frameworks)
- CLI (Command Line Interface)
- CSV file handling
src/com/pm25app/
├── Main.java
├── display/ # CLI Display Logics
├── services/ # Functions
├── exceptions/ # Errors
└── data/ # Input / Output Operations
- Encapsulation → Data stored in model classes (e.g., PM25Record)
- Inheritance → Display implementations share common behavior
- Polymorphism → Different display types used through a common interface
- Interfaces → ApiClient, Storage, Display
- Generics → Storage for flexible data handling
- Compile the project:
javac com/pm25app/Main.java
- Run the program:
java com.pm25app.Main
fetch→ Get data from APIview→ Display current datasave→ Save data to CSVload→ Load data from CSVexit→ Exit program
- Data is stored in:
/data/data.csv