使用说明
📚 图书管理系统
这是一个利用Supabase的现代基于Web的图书管理系统。
✨ 主要功能
🏢 多图书馆管理
- 图书馆添加/修改/删除独立管理多个图书馆
- 图书馆选择轻松切换当前工作图书馆
- 各图书馆图书管理每个图书馆都有独立的书籍列表
- 图书馆信息管理地址、电话号码、电子邮件、网站等详细信息
📖 图书管理
- 书籍添加/修改/删除完整的CRUD功能
- 图书搜索按标题、作者、类型、ISBN搜索
- 图书过滤按类型过滤
- 图书排序按标题、作者、出版日期、价格排序
- 视图切换网格视图和列表视图
📊 仪表盘
- 统计信息总书籍数量,类型数量,总库存,平均价格
- 实时更新数据更改时自动更新
- 各图书馆统计所选图书馆的书籍现状
💾 数据管理
- 导出CSV导出图书列表为CSV文件
- 实时同步与Supabase的实时数据同步
- 数据分离各图书馆独立的数据管理
🎨 用户界面
- 响应式设计支持移动设备、平板电脑、台式电脑
- **现代用户界面(Modern UI)**玻璃拟态设计与流畅动画
- **直观的用户体验(UX)**易于使用的界面
- 基于标签的管理用标签区分图书馆列表和附加功能
🚀 开始
1. 项目设置
# 프로젝트 디렉토리로 이동
cd supabase_mcp
# 파일 구조 확인
ls -la
2. 配置Supabase
-
访问Supabase项目仪表板
-
设置 → API 中查看以下信息:
- 项目网址
- 匿名公钥
-
script.js在文件中更新Supabase设置:
const supabaseUrl = 'YOUR_SUPABASE_URL';
const supabaseKey = 'YOUR_SUPABASE_ANON_KEY';
3. 启动网络服务器
本地开发用(Python)
python -m http.server 8000
用于生产环境的服务器(Node.js + Express)
# Express 서버 실행 (CORS 설정 포함)
npm start
# 또는 직접 실행
node server.js
开发服务器
npm run dev
4. 在浏览器中访问
- 本地开发:
http://localhost:8000 - 生产服务器:
http://localhost:3000
📁 项目结构
supabase_mcp/
├── index.html # 메인 HTML 파일
├── styles.css # CSS 스타일시트
├── script.js # JavaScript 로직
├── README.md # 프로젝트 문서
└── .cursor/
└── mcp.json # MCP 설정 파일
🛠️ 技术栈
- 前端HTML5,CSS3,JavaScript(ES6+)
- 后端Supabase(基于PostgreSQL)
- 造型CSS 网格布局、Flexbox 布局、CSS 变量
- 图标Font Awesome
- 数据库PostgreSQL(Supabase)
📋 数据库模式
libraries 表
CREATE TABLE libraries (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL,
description TEXT,
address TEXT,
phone VARCHAR(50),
email VARCHAR(255),
website VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
books 表
CREATE TABLE books (
id SERIAL PRIMARY KEY,
title VARCHAR(255) NOT NULL,
author VARCHAR(255) NOT NULL,
isbn VARCHAR(20) UNIQUE,
published_date DATE,
genre VARCHAR(100),
pages INTEGER,
language VARCHAR(50) DEFAULT 'Korean',
description TEXT,
price DECIMAL(10,2),
stock_quantity INTEGER DEFAULT 0,
library_id INTEGER REFERENCES libraries(id) ON DELETE CASCADE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
🎯 使用方法
图书馆管理
- 添加图书馆“图书馆管理”按钮 → “添加新图书馆”选项卡
- 图书馆选择在顶部的当前图书馆区域点击“更改”按钮
- 图书馆修改/删除在“图书馆管理”→“图书馆列表”标签中进行管理
图书管理
- 添加书籍选择图书馆后点击“添加新书”按钮
- 图书搜索在顶部搜索框中输入关键词(标题、作者、类型、ISBN)
- 书籍修改/删除点击图书卡片的“修改”或“删除”按钮
- 图书过滤使用按类型过滤和排序选项
数据管理
- 导出数据点击“导出数据”按钮下载CSV文件
- 确认统计在仪表板上查看各图书馆的统计信息
- 视图切换在网格视图和列表视图之间切换
🔧 自定义/定制化
更改颜色主题
styles.css修改CSS变量:
:root {
--primary-color: #3498db;
--secondary-color: #2c3e50;
--success-color: #27ae60;
--danger-color: #e74c3c;
}
添加新类型
index.html添加到类型选择选项中script.js添加到过滤选项中
🚀 服务器部署
Heroku 部署
# Heroku CLI 설치 후
heroku create your-app-name
git push heroku main
Vercel 部署
# Vercel CLI 설치 후
vercel --prod
Netlify 部署
- 将项目上传到Netlify
- 构建命令:
npm start - 分发完成
Docker 部署
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
🐛 问题解决
401 未授权错误
- 确认RLS政策检查Supabase中的行级安全性是否已正确设置
- 确认API密钥确认是否使用了正确的anon key
- CORS设置检查服务器上是否正确设置了CORS头
Supabase连接错误
- 确认URL和API密钥是否正确
- 确认Supabase项目是否已激活
- 在浏览器控制台中查看错误消息
数据未显示
- 检查Supabase表中是否有数据
- 检查RLS(行级安全性)设置
- 检查网络连接状态
服务器部署错误
- CORS 错误使用 Express 服务器(
npm start) - 端口错误检查环境变量PORT设置
- 依赖性错误:
npm install执行
📝 许可证
此项目根据MIT许可证分发。
🤝 贡献(或“参与贡献”)
- 为项目创建分支
- 创建你的特性分支(
git checkout -b feature/AmazingFeature) - 提交您的更改(
git commit -m 'Add some AmazingFeature') - 推送到分支(
git push origin feature/AmazingFeature) - 打开一个拉取请求
📞 支持
如果遇到问题或有任何疑问,请创建一个议题。
享受愉快的图书管理吧! 📚✨(书籍+闪耀的星星,可译为“书本✨闪耀”或保持原样以表达特定意境)