站点图标 高效码农

开源订阅管理系统:一键掌控订阅生活,告别遗忘续费烦恼!

开源订阅管理系统:轻松管理你的订阅服务

为什么我们需要订阅管理系统?

在数字化生活日益普及的今天,各种订阅服务如雨后春笋般涌现。从视频流媒体到云存储,从音乐平台到软件服务,我们平均每人拥有12项订阅服务。你是否遇到过这些问题:

  • 忘记某个订阅服务的续费日期,导致服务中断
  • 不清楚每月在订阅服务上花费的总金额
  • 难以追踪不同货币结算的订阅费用
  • 想知道哪些订阅值得保留,哪些可以取消

这正是订阅管理系统的价值所在。今天我要介绍的这个开源项目,正是为解决这些问题而设计的一站式解决方案。

系统概览:功能强大的订阅管理助手

这个订阅管理系统是一个现代化的工具,帮助用户轻松管理和追踪各种订阅服务的费用和续费情况。让我们先通过几个核心界面来了解它的强大功能:

📊 智能仪表板:你的订阅健康中心


系统首页的仪表板提供了月度/年度支出统计、即将到期的订阅提醒和分类费用分析。一目了然地掌握所有订阅服务的财务状况,避免意外中断服务。

📝 订阅管理:全方位控制


这是系统的核心功能区域,支持完整的订阅生命周期管理。你可以轻松添加新订阅、编辑现有服务、更新状态,还能批量导入已有订阅数据,大幅节省设置时间。

💳 支付历史:每一笔费用都清晰可查


完整的支付历史记录功能,支持搜索过滤,以及订单的增删改查。再也不会忘记某个订阅服务上次是什么时候付费、付了多少。

📈 月度费用:支出趋势一目了然


直观展示月度支出详情,帮助你识别消费模式。通过清晰的图表,你能快速发现哪些月份支出异常,从而调整订阅策略。

📊 深度报告:数据驱动的决策支持


强大的费用分析功能,包含趋势图表、分类统计和多维度数据展示。这些报告能帮助你优化订阅组合,节省不必要的开支。

🌙 深色主题:舒适的使用体验


系统支持浅色/深色主题切换,无论白天夜晚都能提供舒适的视觉体验。

为什么选择这个订阅管理系统?

🌟 核心优势

  1. 全面生命周期管理 – 从订阅创建到到期续费,全程跟踪管理
  2. 多币种自动转换 – 支持7种主要货币(USD, EUR, GBP, CAD, AUD, JPY, CNY),实时汇率更新
  3. 深度数据分析 – 提供可视化报表,揭示你的订阅消费模式
  4. 隐私优先设计 – 基于SQLite的本地数据存储,你的数据只属于你
  5. 跨平台适配 – 响应式设计完美适配桌面和移动设备
  6. 一键式部署 – Docker支持让安装变得简单快捷

🔍 功能特性详解

核心功能

  • 订阅管理:添加、编辑、删除订阅服务,支持多种状态标记
  • 智能提醒:自动提醒即将到期的订阅,避免服务中断
  • 多维分类:按服务类别、支付方式等维度统计费用
  • 高效检索:强大的搜索和筛选功能,快速定位目标订阅
  • 自定义配置:灵活设置分类标签和支付方式

高级功能

  • 自动续费处理:智能检测到期订阅并自动更新状态
  • 实时汇率更新:集成天行数据API,每日自动更新汇率
  • 数据迁移:支持CSV和JSON格式的导入导出
  • 主题切换:支持浅色/深色/系统主题三种模式
  • 支付历史追踪:完整记录所有支付历史,支持多种查询条件

技术架构:强大而精简

前端技术栈

  • React 18 + TypeScript:构建现代化用户界面
  • Vite:极速的前端构建工具
  • Tailwind CSS + shadcn/ui:美观高效的样式方案
  • Zustand:轻量级状态管理
  • Recharts:数据可视化图表库

后端技术栈

  • Node.js + Express 5:高性能后端服务
  • SQLite + better-sqlite3:轻量级数据库解决方案
  • node-cron:定时任务管理
  • API Key认证:保障接口安全

部署方案

  • Docker + Docker Compose:一键容器化部署
  • dumb-init:可靠的进程管理
  • 健康检查端点:确保服务稳定运行

如何安装使用?

🐳 Docker部署(推荐方式)

环境要求

  • Docker
  • Docker Compose

安装步骤

# 1. 克隆项目仓库
git clone https://github.com/your-repo/subscription-management.git
cd subscription-management

# 2. 复制环境配置文件
cp .env.production.example .env

# 3. 编辑环境变量配置
nano .env  # 根据你的需求修改配置

# 4. 启动服务
docker-compose up -d

访问应用

  • 前端界面:http://localhost:3001
  • 后端API:http://localhost:3001/api

💻 本地开发安装

环境要求

  • Node.js 20+
  • npm

安装步骤

# 1. 克隆项目
git clone https://github.com/your-repo/subscription-management.git
cd subscription-management

# 2. 安装前端依赖
npm install

# 3. 安装后端依赖
cd server
npm install

# 4. 初始化数据库
npm run db:init

# 5. 启动后端服务(在server目录)
npm start

# 6. 另开终端,启动前端开发服务器(在项目根目录)
npm run dev

访问应用

  • 前端开发服务器:http://localhost:5173
  • 后端API服务:http://localhost:3001/api

配置指南:根据需求定制系统

环境变量配置

创建或修改.env文件,配置以下关键参数:

# API安全密钥(必须设置)
API_KEY=your_secure_key_here

# 服务端口(默认3001)
PORT=3001

# 基础货币(默认CNY)
BASE_CURRENCY=CNY

# 天行数据API密钥(用于汇率更新)
TIANAPI_KEY=your_tianapi_key_here

# 数据库路径(Docker部署专用)
DATABASE_PATH=/app/data/database.sqlite

数据库管理命令

# 初始化数据库结构
npm run db:init

# 执行数据库迁移
npm run db:migrate

# 重置数据库(谨慎使用)
npm run db:reset

常见问题解答(FAQ)

❓ 这个系统支持哪些货币?

系统支持7种主要货币:美元(USD)、欧元(EUR)、英镑(GBP)、加元(CAD)、澳元(AUD)、日元(JPY)和人民币(CNY)。所有货币都会自动转换为你在设置中指定的基础货币。

🔒 我的数据存储在哪里?安全吗?

系统采用SQLite本地数据库存储所有数据,这意味着你的数据完全保留在自己的设备上,不会上传到任何第三方服务器。Docker部署时,数据库文件存储在容器内的/app/data/目录,你可以通过挂载卷持久化保存数据。

💰 汇率是如何更新的?

系统集成了天行数据API,每日自动更新最新汇率。你需要在.env文件中配置TIANAPI_KEY来启用此功能。如果没有API密钥,你也可以手动更新汇率。

📱 是否支持移动设备访问?

是的,系统采用响应式设计,可以完美适配各种屏幕尺寸,从桌面电脑到手机都能提供良好的用户体验。

🔄 如何导入已有的订阅数据?

系统支持CSV和JSON格式的数据导入。在订阅管理界面,你可以找到”导入”功能,按照提示上传文件即可将现有订阅数据批量导入系统。

💻 需要编程知识才能使用吗?

不需要。虽然项目是开源的,但普通用户可以通过提供的Docker镜像直接部署使用,无需任何编程知识。只有当你需要修改代码或参与开发时,才需要相关技术背景。

参与贡献:成为开源社区一员

我们欢迎开发者加入项目贡献:

  1. Fork项目仓库到你的GitHub账号
  2. 创建特性分支:git checkout -b feature/your-feature-name
  3. 提交你的代码更改
  4. 推送分支到远程仓库:git push origin feature/your-feature-name
  5. 创建Pull Request并描述你的改进

开源许可

本项目采用MIT许可证,允许你自由地使用、修改和分发软件,包括商业用途。详细的许可条款可以在项目的LICENSE文件中查看。

总结:重新掌控你的订阅生活

这个开源订阅管理系统提供了一套完整的解决方案,帮助你:

  1. 集中管理所有订阅服务
  2. 避免遗忘续费日期导致服务中断
  3. 清晰掌握订阅费用分布
  4. 优化决策基于数据的订阅组合
  5. 保护隐私本地存储敏感数据

无论你是个人用户想要管理自己的各种订阅,还是企业用户需要追踪团队使用的SaaS服务,这个系统都能提供强大的支持。通过简单的Docker部署,你可以在几分钟内搭建起专属的订阅管理平台。

现在就尝试安装,开始你的订阅管理之旅吧!

退出移动版