54 Commits

Author SHA1 Message Date
2569718930@qq.com 37494a7192 @
将 web/routes.py 拆分为模块化 router + service 架构

    - 新增 web/app_factory.py 集中注册 7 个域名 router
    - 新增 web/routers/ 薄壳路由层(auth/city/system/scan/ops/payments/analytics)
    - 新增 web/services/ 业务函数下沉(每域独立 service 文件)
    - web/routes.py 缩减为 city_runtime 的兼容重导出 facade
    - analysis_service.py/app.py 适配新入口并清理冗余导入

    Scope-risk: LOW — 全量 170 测试通过,router 注册顺序与原路由一致
    Tested: python -m pytest -q (170 passed), ruff check . (All checks passed)
@
2026-05-14 20:01:26 +08:00
2569718930@qq.com 89a71d1bc0 Add Qingdao to the tradable city network
Qingdao needs the same airport-settlement path as the other Wunderground-backed APAC cities, so the registry, aliases, timezone, prewarm, official links, market focus, and tests now point to ZSQD / Qingdao Jiaodong International Airport.

Constraint: User supplied Wunderground Qingdao/ZSQD settlement URL.
Rejected: Add a partial registry-only entry | it would show in APIs without frontend links, prewarm coverage, or alias support.
Confidence: high
Scope-risk: narrow
Reversibility: clean
Tested: pytest tests/test_country_networks.py tests/test_web_observability.py::test_cities_endpoint_includes_new_wunderground_cities -q
Tested: npm run build
Not-tested: Live Wunderground fetch for ZSQD in production.
2026-04-28 07:08:33 +08:00
2569718930@qq.com d46e0c2e81 feat: implement AI-powered pinned city forecast dashboard with real-time METAR and market analysis integration 2026-04-27 00:19:52 +08:00
2569718930@qq.com ef8ef833b9 feat: implement AI-driven METAR summary service and dashboard UI components 2026-04-26 14:03:13 +08:00
2569718930@qq.com 763f131850 feat: implement AI city scanning terminal with streaming SSE support and concurrency-limited request queueing 2026-04-26 07:58:19 +08:00
2569718930@qq.com ce0f7629a2 feat: implement scan terminal dashboard with AI-driven city analysis and state management 2026-04-26 03:42:13 +08:00
2569718930@qq.com e6dbef1ece feat: implement ScanTerminalDashboard component and associated CSS module for PolyWeather map interface 2026-04-26 01:55:30 +08:00
2569718930@qq.com 091d2efef3 Add DeepSeek V4 scan review 2026-04-24 23:32:32 +08:00
2569718930@qq.com ddc0180ae6 Implement EMOS scan terminal with REST-only market data 2026-04-23 23:49:52 +08:00
2569718930@qq.com 54b326ff42 feat: implement comprehensive Polymarket weather analysis service with frontend dashboard and market scanning capabilities 2026-04-23 20:45:32 +08:00
2569718930@qq.com 40564b545d Optimize probability hub market refresh 2026-04-22 04:54:19 +08:00
2569718930@qq.com 67eec8dcdd Optimize city list load from SQLite history 2026-04-22 04:32:25 +08:00
2569718930@qq.com f5fe8b9b95 feat: implement Supabase entitlement service for signup trials and subscription management 2026-04-19 20:19:38 +08:00
2569718930@qq.com 6914e6277b feat: implement backend routing, dashboard components, and transaction reconciliation scripts 2026-04-19 20:14:07 +08:00
2569718930@qq.com d6cc3b1b90 Fix city-local time display for nearby stations 2026-04-19 15:37:13 +08:00
2569718930@qq.com 7e2209e928 Include UTC offsets in city and nearby observation times 2026-04-19 14:47:18 +08:00
2569718930@qq.com 449eb48d8b Add history model context and widen signal push window 2026-04-17 19:49:01 +08:00
2569718930@qq.com c0e5307893 Add cached dashboard prewarm hints for priority cities 2026-04-16 15:05:14 +08:00
2569718930@qq.com c4b45be757 Remove Polymarket price integration from dashboard 2026-04-15 16:30:13 +08:00
2569718930@qq.com aa6ed30987 Add Guangzhou city support and prewarm defaults 2026-04-15 15:14:14 +08:00
2569718930@qq.com 2e2c55d77a Add market detail depth caching for dashboard data 2026-04-14 12:03:37 +08:00
2569718930@qq.com baaccc6636 feat: implement multi-source weather data collection system and dashboard frontend with integrated analysis services. 2026-04-13 18:42:27 +08:00
2569718930@qq.com 41cfb65b92 Show queued subscription access and fix forecast time plotting 2026-04-13 16:35:22 +08:00
2569718930@qq.com a27ae564fb Load nearby stations before opening intraday analysis 2026-04-12 20:49:51 +08:00
2569718930@qq.com 77b4d7b341 feat: implement METAR data collection service and dashboard infrastructure 2026-04-11 20:11:01 +08:00
2569718930@qq.com 373e7cfec6 Shift default prewarm cities from US to Asia and Europe 2026-04-10 11:22:11 +08:00
2569718930@qq.com f0904dbcc5 Add Groq commentary config and simplify forecast modal 2026-04-08 11:41:34 +08:00
2569718930@qq.com c3da29c09c Add dashboard prewarm worker and cache visibility 2026-04-08 06:53:49 +08:00
2569718930@qq.com bdc300bdd2 Expose station network coverage and settlement station details 2026-04-06 07:21:59 +08:00
2569718930@qq.com e4a5c4c8d5 Remove duplicate TruthRecordRepository import 2026-04-06 05:43:08 +08:00
2569718930@qq.com e2c43351bd Make city history read from SQLite truth and feature records 2026-04-05 10:57:51 +08:00
2569718930@qq.com a5b5711863 Remove AI analysis and rank cities by recent DEB performance 2026-04-05 07:13:00 +08:00
2569718930@qq.com 3e265d2764 Refactor weather app logic and simplify related components 2026-04-03 01:47:03 +08:00
2569718930@qq.com bbdba2540c Add admin truth history dashboard and training data ops views 2026-04-03 01:27:54 +08:00
2569718930@qq.com c29b560401 Add app analytics tracking for paywall and checkout events 2026-03-31 07:15:54 +08:00
2569718930@qq.com 538de5cdd8 Add subscription expiry reminders across account and dashboard 2026-03-30 00:58:43 +08:00
2569718930@qq.com d0e1bea941 Backfill missing history forecasts from probability snapshots 2026-03-29 21:01:24 +08:00
2569718930@qq.com 2b5d2cd801 Grant new users a three-day signup trial 2026-03-29 20:34:12 +08:00
2569718930@qq.com 961451aeff Restore guest city panels while keeping Pro data protected 2026-03-26 00:29:14 +08:00
2569718930@qq.com 4ac690228e Bootstrap recent METAR history for new cities 2026-03-24 01:02:18 +08:00
2569718930@qq.com 90822c81d4 Add METAR backfill script and remove settlement history fallback 2026-03-24 00:55:16 +08:00
2569718930@qq.com 5e83a5cca3 feat: Introduce core API routes for city data, history, authentication, and payments, along with a new frontend dashboard utility file. 2026-03-24 00:04:24 +08:00
2569718930@qq.com 7adec4e17c Add peak-12h DEB history reference and bump extension to 0.1.5 2026-03-23 23:17:48 +08:00
2569718930@qq.com e8a39000b9 Prefer Supabase auth emails in ops memberships 2026-03-22 13:15:20 +08:00
2569718930@qq.com 4519af0c6c Repair payment subscription reconciliation and recent intent sync 2026-03-22 13:06:57 +08:00
2569718930@qq.com e662ef7d3b Add ops tools for payment incident triage and resolution 2026-03-21 13:44:32 +08:00
2569718930@qq.com 13cd176449 Backfill ops memberships with Supabase auth user data 2026-03-21 13:10:27 +08:00
2569718930@qq.com 49d883e3a2 Deduplicate ops memberships by user and latest expiry 2026-03-21 13:06:10 +08:00
2569718930@qq.com 75c2baf1d1 Add ops membership list and official source links 2026-03-21 13:02:07 +08:00
2569718930@qq.com 4413b31396 Fix Pro payment recovery and wallet provider selection 2026-03-21 12:19:53 +08:00