An interactive dashboard for exploring the geographic and socioeconomic drivers of housing prices in California (1990).
Live dashboards
- Stable: https://019c91e4-9ae2-9f80-d307-5b31052f2781.share.connect.posit.cloud/
- Preview: https://019c91ed-c71c-d6a8-76fc-1417d4c15a89.share.connect.posit.cloud/
Housing prices vary dramatically across California due to geography, income levels, housing characteristics, and proximity to amenities such as the ocean. This dashboard enables user-driven exploration of these relationships using California housing data from 1990.
It is designed to help users:
- visually investigate spatial patterns in house prices
- understand how socioeconomic and structural factors relate to price variation
- identify clusters of high- and low-value regions without writing code
The project also serves as a proof of concept for building extensible housing dashboards that could be adapted to more recent or broader datasets.
- Explore an interactive map of median house values by location
- Investigate relationships between house price and:
- median household income
- housing age
- proximity to the ocean
- Compare housing characteristics using scatter plots and bar charts
- Conda
- Python (managed via
environment.yml) - Posit Shiny for Python
Using HTTPS:
git clone https://github.com/UBC-MDS/DSCI-532_2026_5_california_housing.gitOr using SSH:
git clone git@github.com:UBC-MDS/DSCI-532_2026_5_california_housing.gitNavigate to the project root:
cd DSCI-532_2026_5_california_housingCreate the environment
conda env create -f environment.yml
conda activate dsci-532-dashboardLaunch the dashboard
shiny run --reload src/app.pyOpen http://127.0.0.1:8000 in your browser.
Run all tests (unit + E2E) with:
conda activate dsci-532-dashboard
playwright install # one-time: download browser binaries
pytest --base-url http://127.0.0.1:8765- Unit tests (
tests/test_utils.py): pytest tests for filtering and aggregation logic. - E2E tests (
tests/test_e2e.py): Playwright tests; they start the Shiny app automatically. The AI Chatbot tab requiresGITHUB_TOKENin.envfor the app to start; if missing, E2E tests may be skipped.
See TESTING.md for test coverage and reflection.
Contributions, issues, and suggestions are welcome.
Please read CONTRIBUTING.md before opening an issue or submitting a pull request.
- Ali Boloor Foroosh
- Fu Hung (Teem) Kwong
- Nicole Link
- Shrabanti Bala Joya
Generative AI tools (Google Gemini, OpenAI ChatGPT, and GitHub Copilot) were used to assist with code generation and documentation drafting. All generated content was reviewed and edited by the authors to ensure accuracy and quality.
