~/projects/urban-pulse $

Urban Pulse ยท ๅŸŽๅธ‚่„‰ๆ

An open-source urban economic observatory โ€” 10 Chinese cities, 16yr data, 5yr forecasts.
10
cities
16
years of data
5
forecast horizon
116
tests passing

What is this

A long-running urban economic observatory. Auto-collects public data from 10 Chinese cities, runs forecasts, generates reports. Updates annually on January 15th โ€” for as long as the internet exists.

Started as a graduation project. Built to last forever.

What it can do

๐Ÿ™๏ธ Competitiveness Index

Entropy-weighted scoring across 9 dimensions: capital, technology, institutions, industry chain, cost, scale, agglomeration, location, and healthcare. Rank cities, compare dimensions, generate per-city reports.

๐Ÿ“ˆ Time-Series Forecasting

GDP, population, fiscal revenue projections with ARIMA/GARCH/Theta models. Confidence intervals included. Multi-city comparison supported.

๐Ÿ” Enterprise & Policy Analysis

Cost environment, supply chain maturity, and policy support scoring per city. Built for location decisions and investment research.

Quick Start

# Docker (recommended)
git clone https://github.com/badhope/urban-pulse
cd urban-pulse
docker compose up
# โ†’ http://localhost:8000/dashboard
# โ†’ http://localhost:8000/docs
# Native Python
pip install -r requirements.txt
uvicorn backend.api.main:app --reload

Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Data Collection  โ”‚  โ† JSON / API / manual import
โ”‚ data_collection/ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
         โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Forecast Engine   โ”‚  โ† ARIMA + GARCH + Theta
โ”‚ core/forecast    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
         โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ FastAPI Backend   โ”‚  โ† REST API + data service
โ”‚ backend/api/     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
         โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ ECharts Dashboard โ”‚  โ† Vanilla JS SPA, zero build
โ”‚ frontend/        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Tech Stack

Python 3.11+ FastAPI Pandas / NumPy statsmodels scikit-learn ECharts 5 Docker GitHub Actions

Data Sources

Public data, manually curated into JSON under data/cities/. Each city file stores annual records with 19 economic indicators:

Roadmap

License

GPL-3.0-or-later. Free to use, fork, contribute.

่ฟ™ๆ˜ฏไป€ไนˆ

ไธ€ไธช้•ฟๆœŸ็ปดๆŠค็š„ๅŸŽๅธ‚็ปๆตŽ่ง‚ๆต‹็ซ™ใ€‚่‡ชๅŠจ้‡‡้›† 10 ๅบงไธญๅ›ฝๅŸŽๅธ‚็š„ๅ…ฌๅผ€ๆ•ฐๆฎ๏ผŒ่ท‘้ข„ๆต‹๏ผŒๅ‡บๆŠฅ่กจใ€‚ๆฏๅนด 1 ๆœˆ 15 ๅท่‡ชๅŠจๆ›ดๆ–ฐไธ€ๆฌก๏ผŒ้‡ๆ–ฐ่ท‘ไธ€้ๅ…จ้‡้ข„ๆต‹ใ€‚้•ฟๆœŸ่ท‘็€๏ผŒๅนดๅคไธ€ๅนดใ€‚

ๆฏ•ไธš่ฎพ่ฎกใ€‚ไฝ†ๆฏ•ไธšๅŽไธๆƒณๆ‰”ๅœจ้‚ฃๅƒ็ฐใ€‚

่ƒฝๅšไป€ไนˆ

๐Ÿ™๏ธ ็ซžไบ‰ๅŠ›ๆŒ‡ๆ•ฐ

ๅŸบไบŽ็†ตๆƒๆณ•็š„ๅŸŽๅธ‚็ซžไบ‰ๅŠ›่ฏ„ไปท๏ผŒ่ฆ†็›–่ต„ๆœฌๅŠ›ใ€็ง‘ๆŠ€ๅŠ›ใ€ๅˆถๅบฆๅŠ›ใ€ไบงไธš้“พๅŠ›ใ€ๆˆๆœฌๅŠ›ใ€่ง„ๆจกๅŠ›ใ€่š้›†ๅŠ›ใ€ๅŒบไฝๅŠ›ใ€็”Ÿๅ‘ฝๅฅๅบทๅŠ› 9 ไธช็ปดๅบฆใ€‚ๆŽ’ๅใ€้›ท่พพๅ›พใ€็ƒญๅŠ›ๅ›พใ€ๅ•ๅŸŽๅธ‚ๅˆ†ๆžๆŠฅๅ‘Šไธ€้”ฎ็”Ÿๆˆใ€‚

๐Ÿ“ˆ ๆ—ถ้—ดๅบๅˆ—้ข„ๆต‹

GDPใ€ไบบๅฃใ€่ดขๆ”ฟๆ”ถๅ…ฅ็ญ‰ๅคšๆŒ‡ๆ ‡้ข„ๆต‹๏ผˆARIMA/GARCH/Theta๏ผ‰๏ผŒๅซ็ฝฎไฟกๅŒบ้—ด๏ผŒๆ”ฏๆŒๅคšๅŸŽๅธ‚ๅฏนๆฏ”ใ€‚

๐Ÿ” ไผไธšไธŽๆ”ฟ็ญ–ๅˆ†ๆž

ๅŸŽๅธ‚ๆˆๆœฌ็Žฏๅขƒใ€ไพ›ๅบ”้“พๆˆ็†Ÿๅบฆใ€ๆ”ฟ็ญ–ๆ”ฏๆŒๅŠ›ๅบฆ่ฏ„ๅˆ†ใ€‚ๅธฎๅŠฉไผไธšๅš้€‰ๅ€ๅ†ณ็ญ–ๅ’ŒๆŠ•่ต„็ ”็ฉถใ€‚

ๅฟซ้€Ÿๅผ€ๅง‹

# Docker๏ผˆๆŽจ่๏ผ‰
git clone https://github.com/badhope/urban-pulse
cd urban-pulse
docker compose up
# โ†’ http://localhost:8000/dashboard
# โ†’ http://localhost:8000/docs
# Python ๅŽŸ็”Ÿ
pip install -r requirements.txt
uvicorn backend.api.main:app --reload

ๆŠ€ๆœฏๆ ˆ

Python 3.11+ FastAPI Pandas / NumPy statsmodels scikit-learn ECharts 5 Docker GitHub Actions

License

GPL-3.0-or-laterใ€‚ๆฌข่ฟŽไฝฟ็”จใ€Forkใ€่ดก็Œฎใ€‚