Abstract
Fizyr Assessment is an open-source Data Science project. Air Quality Analysis CLI Assessment Project for Fizyr. It is built using Rust, Docker, PostgreSQL. The complete source code is publicly available on GitHub under the MIT License, making it a useful reference for students building a Data Science mini project or final-year project.
1. Introduction
Air Quality Analysis CLI Assessment Project for Fizyr
2. Objective
Air Quality Analysis CLI Assessment Project for Fizyr
This project demonstrates how Rust, Docker, PostgreSQL can be applied to a real-world Data Science problem.
4. Technology Stack
5. System Requirements
General requirements for this technology stack — check the README for exact versions.
- Rust toolchain (rustup / cargo)
- Git (to clone the repository)
6. Installation & Setup
git clone https://github.com/mohammadzainabbas/fizyr-assessment.git
cd fizyr-assessment- Setup Environment:
- Install and run PostgreSQL locally.
- Create a database (e.g., createdb air_quality).
- Set environment variables (export in your shell or use a .env file and a tool like dotenv-cli):
- Build & Run:
- Run Tests:
- Unit Tests: (Located in src/cli/commands.rs)
- Database Integration Tests: (Located in src/db/postgres.rs)
# .env (Example - Adjust DATABASE_URL for your local setup)
DATABASE_URL=postgres://your_user:your_password@localhost:5432/air_quality
OPENAQ_KEY=your_actual_api_key_here
RUST_LOG=info # Optional: Set log level (e.g., debug, trace)# Build the project
cargo build
# Run the interactive application (make sure the database is running first)
# If using .env, you might need a tool like dotenv-cli:
# dotenv cargo run
cargo runcargo test# 1. Ensure a PostgreSQL database is running and accessible via DATABASE_URL.
# Example using Docker Compose:
# docker-compose up -d database
# export DATABASE_URL="postgres://postgres:postgres@localhost:5432/air_quality" # Set for local shell
# 2. Run only the integration tests using the feature flag:
cargo test --features integration-tests
# 3. Stop the Dockerized database if you started it just for the tests:
# docker-compose downFull setup instructions are in the project README.
7. Future Enhancements
Suggested extensions you can add to make this your own project.
- Turn the analysis into an interactive dashboard
- Automate data refresh with a scheduled job
- Add a predictive model on top of the analysis
8. Viva / Review Questions
Common questions examiners ask for projects in this domain.
- What is the source of the dataset and how was missing data handled?
- Which exploratory analysis steps revealed the most useful insight?
- Why were these particular charts chosen to present the data?
- Which statistical or ML technique supports the conclusions?
- How could the analysis be automated or refreshed with new data?
9. Source Code & License
This project is developed by mohammadzainabbas and published on GitHub under the MIT License. Please follow the license terms and credit the original author when you use or modify this code.
Want to build this as your internship project?
Work on a Data Science project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.
Apply for Data Science Internship