本项目提供一个可视化的订阅 / 保修 / 保险费用时间轴工具,支持用户创建账号、添加项目、查看分布、统计费用等功能。
本文档仅介绍 如何部署与运行项目,不包含技术实现细节。
本项目推荐使用 Vercel 进行部署,并依赖 Upstash Redis 作为数据存储、Resend 作为邮件服务。
部署前请确保你具备以下条件:
- Node.js 18–20
- 一个 Vercel 账号(用于托管前端和 API)
- 一个 Upstash Redis 实例(用于存储用户和项目数据)
- 一个 域名或 Vercel 站点地址 用于配置
PUBLIC_ORIGIN - (可选)Resend 邮件服务账号(提升生产环境的注册体验)
在 Vercel 中,进入:
Project → Settings → Environment Variables
添加以下环境变量:
| 变量名 | 描述 |
|---|---|
UPSTASH_REDIS_REST_URL |
Redis REST URL |
UPSTASH_REDIS_REST_TOKEN |
Redis REST Token |
支持旧版变量
UPSTASH_REST_URL/UPSTASH_REST_TOKEN,但建议使用新名称。
| 变量名 | 描述 |
|---|---|
PUBLIC_ORIGIN |
前端访问地址(只写 Origin,不带路径) |
示例:
[https://expense-timeline.vercel.app](https://expense-timeline.vercel.app)
[https://your-domain.com](https://your-domain.com)
如需注册/登录时正常发邮件:
| 变量名 | 描述 |
|---|---|
RESEND_API_KEY |
Resend API Key |
EMAIL_FROM |
发件人邮箱,如 "Expense Timeline" <no-reply@your-domain.com> |
未配置时开发环境会模拟发邮件,但生产环境会失败。
| 变量名 | 作用 | 默认值 |
|---|---|---|
SESSION_TTL_DAYS |
登录 Session 有效天数 | 7 天 |
ENABLE_DEBUG_API |
是否启用调试 API | 关闭 |
等待构建完成即可使用。
项目包含 vercel.json,会自动处理:
- 静态资源托管(
public) /api/*的后端接口- 单页应用路由
git clone <your-repo-url> expense-timeline
cd expense-timeline
npm install方式 A:手动设置
export UPSTASH_REDIS_REST_URL=...
export UPSTASH_REDIS_REST_TOKEN=...
export PUBLIC_ORIGIN=http://localhost:3000方式 B:使用 Vercel CLI(推荐)
npm i -g vercel
vercel link
vercel env pull .env.localnpm run dev或:
vercel dev访问:
http://localhost:3000
本地会完整模拟生产环境的 API 行为与前端展示。
- 创建 Upstash Redis
- 在 Vercel 导入仓库
- 添加 Redis、邮件、
PUBLIC_ORIGIN等环境变量 - 点击 Deploy
- 访问 Vercel 地址即可开始使用