个人图书管理系统

BookVault是一个跨平台的个人图书管理系统,帮助用户整理、分析并丰富阅读体验,支持移动端和网页端,具有AI驱动的智能书籍分析功能。

  • by beyondSachin
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 sachinksamad1/BookVault

使用说明

BookVault

一个跨平台的个人图书库管理系统(BookVault),允许用户组织、分析和丰富他们的阅读体验。该平台支持由Node.js API支持的移动(Flutter)和web(Angular)客户端,并提供可选的AI/MCP集成,以实现智能书籍见解

📌 概述

  • 个人图书馆平台使用户能够:

  • 创建和管理个人藏书

  • 存储摘要、注释和引用

  • 用人物、比喻和情节洞察力分析小说

  • 使用AI辅助智能搜索和探索书籍

  • 通过移动设备和网络无缝访问平台

该系统被设计为单仓库,以确保所有平台的一致性、可扩展性和可维护性。

🏗️ 架构摘要

Flutter Mobile App  ─┐
                     ├── REST / JSON APIs ── Node.js Backend ── Database
Angular Web App     ─┘                         │
                                               └── AI / MCP Integration

  • 前端(Web):Angular(最新稳定版本),Angular材质

  • 前端(移动):Flutter

  • 后端:Node.js+Express(TypeScript)

  • AI集成:基于MCP的AI(例如Gemini MCP)

  • 数据库:MongoDB(推荐)或PostgreSQL

  • 部署:Docker就绪(与云无关)

📁 仓库结构

bookvault/
│
├── apps/
│   ├── mobile/            # Flutter mobile application
│   ├── web/               # Angular web application
│   └── backend/           # Node.js / Express API
│
├── packages/              # Shared contracts/models (future-ready)
│
├── docs/
│   ├── PRD-Mobile.md
│   ├── PRD-Web.md
│   ├── Architecture.md
│   ├── API-Spec.md
│   └── Roadmap.md
│
├── diagrams/              # Architecture & workflow diagrams
│
├── scripts/               # Setup and automation scripts
│
├── .github/
│   └── workflows/         # CI pipelines
│
├── README.md
├── .gitignore
└── LICENSE

✨ 主要特点

核心功能

  • 个人图书馆管理

  • 书籍元数据:标题、作者、流派、状态

  • 注释、亮点和引用

  • 搜索和过滤

小说特色

  • 故事概要

  • 角色列表和角色

  • 情节和比喻分析

  • 主题见解

AI驱动的功能

  • 问关于一本书的问题

  • 生成总结和见解

  • 比较书籍或作者

  • 阅读建议(未来)

🚀 入门指南

先决条件

工具 版本
Node.js ≥24(或最新版本)
npm/pnpm 最新
Angular CLI 21(或最新版本)
Flutter SDK 稳定
Docker 最新

🔧 后端设置

cd apps/backend
npm install
cp .env.example .env
npm run dev

默认情况下,后端运行在:

http://localhost:3000

🌐 Web应用程序设置(Angular)

cd apps/web
npm install
ng serve

Web应用程序可在以下网址获得:

http://localhost:4200

📱 移动应用程序设置(Flutter)

cd apps/mobile
flutter pub get
flutter run

支持Android模拟器、iOS模拟器或物理设备。

🔐 环境变量

每个应用程序都使用自己的环境配置。

示例(apps/backend/.env.Example):

PORT=3000
DATABASE_URL=
AI_MCP_API_KEY=
JWT_SECRET=

重要提示:永远不要承诺真实 .env 文件夹。

🧪 测试(计划/可选)

  • 后端:Jest

  • Web:角度测试平台

  • Mobile:Flutter测试框架

🔄 分支策略

main        → production-ready
develop     → active development
feature/*   → new features
bugfix/*    → fixes
docs/*      → documentation updates

承诺遵循常规承诺:

feat(web): add book detail view
feat(mobile): implement offline storage
fix(api): handle empty AI response
docs(prd): update mobile scope

📄 文档

所有关键文件均保存在 /docs:

  • PRD-Mobile.md–移动产品要求

  • PRD-Web.md–Web产品要求

  • Architecture.md——系统设计

  • API-Spec.md–REST API合同

  • Roadmap.md–功能规划

这些文件被视为事实的来源。

🧩 路线图(高级别)

  • ✅ MVP(库、笔记、搜索)

  • 🔄 人工智能集成(问答,总结)

  • 🔄 身份验证和同步

  • 🔄 公开发布(v1.0)

  • 🔄 社交和共享功能

📦 版本控制

该项目遵循语义版本控制:

v0.1.0  MVP
v0.2.0  AI Features
v1.0.0  Public Release

🛡️ 许可证

该项目根据MIT许可证获得许可。 看 许可证 文件以获取详细信息。

👤 作者

萨钦·萨马德