项目

赛迹 RaceTrace

面向跑者的赛事档案与纪念产品,覆盖 iOS、Web companion、小程序和自托管后端,用来保存赛事、奖牌、证书、照片、成长轨迹和分享卡片。

我的项目 线上服务中产品设计 / 全栈实现赛事档案 App已上线App产品实践SwiftUINext.js跑步自托管

介绍

赛迹 RaceTrace 是一个 iPhone-first 的个人赛事档案产品,重点不是配速训练或 GPS 记录,而是把每一场比赛、奖牌、证书、照片、城市足迹和阶段性成长沉淀成可回看、可分享的个人纪念册。项目已经从单一 App 扩展到 iOS、Web companion、Android 基线、小程序方向和自托管后端,服务端以 PostgreSQL/Redis 承载账号、赛事、媒体和同步能力。

技术栈

SwiftUIiOS 17+Next.jsReactTypeScriptTailwind CSSPostgreSQLRedisTencent CloudKotlinJetpack Compose

产品定位

赛迹服务的是已经参加过比赛、正在持续参赛,或通过他人分享进入档案页的跑者。它把“快速找到一场比赛、补录自己的成绩、保存奖牌证书照片、生成可分享卡片”作为核心路径,让用户持续沉淀自己的赛事经历。

多端形态

iOS 是主体验,负责完整的个人档案、赛事记录、珍藏和成长视图;Web companion 承担登录、展示、赛事详情与轻量写入;Android 已建立 Kotlin/Compose 基线;小程序方向面向轻量查看、补录和分享。

数据与媒体链路

项目采用明确账号体系和云同步,服务端是赛事、个人记录、媒体资源和同步状态的事实源。媒体由后端统一管理展示 URL,避免客户端直接依赖存储细节,也便于后续做权限、压缩和分享有效期控制。

核心功能

当前重点包括平台赛事目录、赛事搜索与详情、加入我的赛事、个人档案 CRUD、地图足迹、奖牌/证书/号码布/照片珍藏、分享卡片、年份报告、公开跑者档案与关注式发现。

设计语言

赛迹的界面要保留比赛本身的仪式感,强调留存和回看,而不是训练效率。品牌视觉使用温暖白底、青绿色与铜色纪念元素,信息组织以卡片、时间线和档案页为主。

交付状态

项目已经有可访问官网、App 侧主要体验、Web companion、Android 基线和自托管后端。后续重点是完善多端体验一致性、媒体工作流、分享链路和公开档案的隐私边界。

要点

  • 产品边界明确:它是个人赛事档案、纪念册和成长时间线,不是 GPS 轨迹记录、训练计划、跑步社交流或赛事报名平台。
  • 核心体验围绕“赛事 / 地图 / 珍藏 / 我”展开,支持赛事目录检索、赛事详情、加入个人记录、成绩与媒体沉淀。
  • Web companion 负责登录入口、档案展示、赛事详情和 H5-first 的补充操作,让分享和轻量编辑不局限在 App 内。
  • 后端自托管在腾讯云,PostgreSQL 作为事实源,Redis 处理缓存和短状态,并由服务端签发媒体展示地址。
  • Android 基线已覆盖真实登录、赛事 CRUD、媒体上传、证书识别预览和档案核心页面,后续按 iOS 主体验补齐。
  • 视觉语言偏纪念、克制、温暖,像一本跑者赛事纪念册,而不是功能堆叠的运动工具箱。