KPIX: Berkeley rezoning affects our businesses
berkeley-housing-pipeline/
├── README.md ← Start here!
├── EDUCATORS_GUIDE.md ← Teaching guide
├── STUDENT_GUIDE.md ← Student instructions
│
├── setup/
│ ├── 00_installation.ipynb ← Setup Python, Jupyter
│ ├── 01_data_sources.ipynb ← Find your city's data
│ └── requirements.txt ← pip install -r requirements.txt
│
├── lessons/
│ ├── lesson_01_permits_basics.ipynb ← Week 1: What are permits?
│ ├── lesson_02_data_import.ipynb ← Week 2: Import data
│ ├── lesson_03_cleaning.ipynb ← Week 3: Clean addresses
│ ├── lesson_04_geocoding.ipynb ← Week 4: Add coordinates
│ ├── lesson_05_database.ipynb ← Week 5: SQLite databases
│ ├── lesson_06_analysis.ipynb ← Week 6: SQL queries
│ ├── lesson_07_visualization.ipynb ← Week 7: Charts & maps
│ └── lesson_08_website.ipynb ← Week 8: Deploy dashboard
│
├── templates/
│ ├── city_template.ipynb ← Copy & customize for your city
│ ├── website_template/ ← HTML/CSS/JS templates
│ └── database_schema.sql ← Database structure
│
├── data/
│ ├── berkeley/ ← Example: Berkeley data
│ ├── sample_data/ ← Small sample for testing
│ └── YOUR_CITY_NAME/ ← Students create this
│
├── completed_projects/
│ ├── berkeley_ca/ ← Full Berkeley example
│ ├── oakland_ca/ ← Other city examples
│ ├── chicago_il/
│ └── austin_tx/
│
├── resources/
│ ├── data_sources_by_state.md ← Where to find permit data
│ ├── geocoding_services.md ← Free geocoding options
│ ├── deployment_guide.md ← How to publish your project
│ └── sql_cheatsheet.md ← SQL reference
│
└── scripts/
├── modules/
│ ├── data_loader.py ← Reusable functions
│ ├── geocoder.py
│ ├── address_normalizer.py
│ └── report_generator.py
└── utils/
└── helpers.py