Flashcards Project

Flashcards 是一个面向个人学习与 AI 协作的卡片系统

项目提供 Web 学习界面、用户数据管理接口,以及可接入 OpenAI / MCP 的服务能力。 用户可以围绕 topics、decks、cards 组织内容,完成学习、管理、创建和自动化操作。

核心功能

1. 学习内容浏览

支持 topics 学习页、分组浏览、同组内容切换,以及图片、音频、翻译等多种卡片元素展示。

2. Deck / Card 管理

支持 deck groups、decks、cards 的增删改查,适合管理个人知识卡片与训练素材。

3. OAuth / OpenAI 接入

支持独立 OpenAI OAuth 流程,可返回 Bearer token,并通过 OpenAPI 文档对接外部平台。

项目架构

Web 前端

  • 基于 Vue 3 构建。
  • 提供 Library、My Topics、Topic Detail、Decks、Deck Detail、Deck Edit、Login 等页面。
  • 打包后静态资源部署到网站目录,通过 Web History 模式提供前端路由。

Node.js 接口服务

  • 服务端项目为 `server-flashcards`。
  • 提供 `/api/*` 用户接口,负责 topics、decks、groups、users 等业务数据处理。
  • 支持 OpenAI OAuth、OpenAPI 输出,以及 MCP 服务接入。

数据流

Web 前端通过 API 访问用户资源;OpenAI 或 MCP 通过 OAuth 获取 token 后,再使用 Authorization header 调用后端接口。服务端负责认证、数据查询、分组管理和卡片操作。

集成能力

项目当前支持 OpenAI Actions / OAuth 文档输出,以及 MCP 远程服务能力,便于在聊天场景里直接读写用户的学习卡片数据。

Web (Vue) -> /api/* -> server-flashcards (Node.js) OpenAI OAuth -> /api/openai/authorize -> /api/openai/token OpenAI / MCP -> Authorization: Bearer <token> -> business APIs

官网地址

该地址用于访问 Flashcards Web 站点,同时也是当前对外服务与 OAuth 配置所依赖的主域名。