## 架构设计(亿级用户规模) - 客户端:本地队列(500条) + 批量上传(20条/30s) + 10% 采样率 - 心跳:前台每60s发送,后端3分钟滑动窗口 → 实时在线率 - DAU:app_session_start 事件 + installId 去重 - 后端接入:Kafka → ClickHouse 消费落盘 ## 新增 TelemetryRouteObserver (NEW FILE) - 继承 RouteObserver<PageRoute>,注册到 MaterialApp.navigatorObservers - 自动记录所有页面 page_view(push/pop/replace),零侵入业务页面 - 属性:page_name, previous_page, nav_action - 覆盖全部 37 个已注册路由,无需逐页埋点 ## main.dart - 接入 TelemetryRouteObserver.instance - 新增 FlutterError.onError 全局钩子 → logError 上报 Widget build 异常 ## auth_service.dart — 认证漏斗 | 事件 | 触发时机 | method 属性 | |------|---------|------------| | register_success | 注册成功 | phone_sms / email_code | | login_success | 登录成功 | password / phone_sms / email_code / wechat / alipay / google / apple | | user_logout | 主动登出 | — | ## self_hosted_updater.dart — 升级漏斗 update_prompted → update_accepted / update_dismissed → update_download_started → update_download_completed / update_download_failed / update_download_cancelled → update_install_triggered / update_install_failed Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| backend | ||
| blockchain | ||
| deploy/nginx | ||
| docs | ||
| frontend | ||
| infrastructure | ||
| logo | ||
| scripts | ||
| .gitignore | ||
| README.md | ||
README.md
Global Coupon Exchange
Website: gogenex.com
Brand Naming Strategy
This project adopts a regional branding strategy, using different brand names for different markets while maintaining brand family consistency.
Brand Structure
| Market | Brand | Abbr | Description |
|---|---|---|---|
| Western (US/Europe) | Genex | GNX | Derived from Generation + Exchange, familiar Western naming style |
| Asian (including China) | Gensen / 券信 | GS | "Gensen" from Cantonese pronunciation of Chinese characters "券信" |
Unified Domain
- gogenex.com - Single global domain for all markets
- Subdomains or paths for regional content (e.g., gogenex.com/cn, gogenex.com/asia)
Naming Logic
Genex (Western Markets)
- Gen = Generation / Generic / Genesis
- ex = Exchange
- Natural pronunciation, similar to well-known Western brands like FedEx, Amex
- Professional, modern, and trustworthy fintech image
Gensen / 券信 (Asian Markets)
- 券 (Quan) = Coupon / Voucher
- 信 (Xin) = Trust / Credit
- Gensen = Romanization of Cantonese pronunciation "gyun seon"
- Use Chinese characters "券信" in Mainland China
- Use romanized "Gensen" in other Asian regions
- Two characters conveying core values: coupon trading + trust guarantee
Brand Consistency
Genex ←── "Gen-" prefix ──→ Gensen
↑ ↑
└─────── Same brand family ────┘
↓
券信 (Chinese localization)
- Genex and Gensen share the "Gen-" prefix, establishing brand family recognition
- Gensen directly transliterates to 券信, providing seamless connection
- Global users can recognize these as regional versions of the same platform
Usage Scenarios
| Scenario | Western Markets | Asian Markets (non-China) | China Market |
|---|---|---|---|
| Company Name | GoGenex Inc. | Gensen Asia Ltd. | 券信科技有限公司 |
| App Name | Genex | Gensen | 券信 |
| Domain | gogenex.com | gogenex.com/asia | gogenex.com/cn |
| Social Media | @gogenex | @gensen_official | @券信official |
Note on Company Structure:
- Inc. (Corporation) for Western markets: Better for VC funding, stock issuance, and potential IPO
- Ltd. (Limited) for Asian markets: Common structure in Asia-Pacific region
- Social media handles use variations to avoid conflicts with existing accounts
Legal & Operations
Due to varying financial regulations across countries, each regional brand will:
- Operate as an independent legal entity
- Comply with local regulatory requirements
- Share core technology platform and philosophy
- Establish brand association through parent company
Project Overview
Global Coupon Exchange (GCX) is a coupon asset trading platform designed to provide users with secure and convenient trading services for digital assets such as coupons, gift cards, and vouchers.
Core Features
- Coupon asset listing and trading
- Secure transaction matching mechanism
- Multi-currency settlement support
- User credit system
Tech Stack
TBD
Documentation
For detailed development documentation, please refer to the docs directory.
License
TBD