This repo contains a Code the Dream-friendly batch ETL project that:
- Geocodes global cities to lat/lon
- Pulls OpenWeather Air Pollution historical data
- Transforms PostgreSQL-backed raw response records into a gold dataset
- Writes the gold dataset to PostgreSQL
- Serves a React dashboard backed by a Python API over PostgreSQL data
The pipeline uses DB-first gold persistence by default, with PostgreSQL as the primary gold-data target City configuration, geocoding cache, and raw extract persistence are in PostgreSQL as runtime state. The same PostgreSQL runtime path can target either local Docker/Postgres or managed Azure Database for PostgreSQL through environment configuration.
One student should complete the initial setup below. These instructions follow the repository setup used in the Code the Dream Python 100 homework repository.
- Sign into your GitHub, and create a repository for your team's City Air Tracker project. It must be a public repository. Do not create a
.gitignoreor aREADME.md. - On your computer, clone the
city-air-tracker-studentrepository. (Do not clone the repository you just created.) - Change to the
city-air-tracker-studentdirectory you just cloned. Enter the following commands, replacingteam-repository-ownerandteam-repository-namewith the values for the repository your team created:
# if you use SSH authentication:
git remote set-url origin git@github.com:team-repository-owner/team-repository-name.git
# if you use token-based authentication:
git remote set-url origin https://github.com/team-repository-owner/team-repository-name
git remote add upstream https://github.com/Code-the-Dream-School/city-air-tracker-student
git push origin main- In the team's new GitHub repository, add every student and mentor on the team as a collaborator.
- All other team members should clone the new team repository:
git clone https://github.com/team-repository-owner/team-repository-name.git
cd team-repository-name
git remote add upstream https://github.com/Code-the-Dream-School/city-air-tracker-studentEach team member can confirm both remotes with:
git remote -vorigin should point to the team's repository. upstream should point to the Code the Dream starter repository.
Browse Docs table of Contents for the full categorized index.