内容
SQLite Spreadsheet Sync
一款交互式的网络应用程序,它将关系数据集中在 **SQLite** 数据库中,提供类似 **Excel** / Sheets** 的用户界面,以减少非技术工作团队的摩擦。
这可以使用 Excel 文件而导致的数据不同步和信息丢失。
## 🚀 特性
*选项卡**:在集中式数据库的表格之间立即导航。
类似 Excel 的编辑**:通过双击直接编辑单元格,使用键盘(Tab、Enter、箭头)导航,并在数据库中自动保存。
*和合并**:上传独立的 Excel `.xlsx` 或 `.csv,以自动创建表格或批量。
* **直接导出**:一键将数据库中的任何活动表格下载为 Excel 格式。
* **实时验证**:通过在用户输入不兼容类型时提醒,防止数据损坏(例如,在数字字段中输入文本)。
* **结构管理**:直接界面中创建新表格和添加列。
---
## 📚* [REST API 规范](docs/API.md) — 端点验证、验证和错误。
* [MCP 服务器](docs/M) — 通过模型上下文协议与助手(Claude 等)集成 [安全模型](docs/SECURITY.md) — 已实施的防御。
* [贡献指南](CONTRIBUTING.md) — 启动和约定。
* [`.env 示例`](.env.example环境变量。
---
## 🛠️ 要求
* [https://nodejs.org/) 18 或更高版本---
## 💻 安装和按照以下简单步骤在本地服务器上启动项目:
1. **安装所有依赖项**(服务端和客户端合二为一的命令):
```bash
npm run install-all
```
2. **以开发模式启动**(同时运行 Express API 和 Vite 客户端):
```bash
npm run dev
```
3. **访问应用程序**:
* 在浏览器中打开 [http://localhost:3000](http://localhost:3000)
*注意:后端 API 在 `3001` 端口上运行,前端通过代理透明地进行通信。*
---
## 🔒 生产部署
我们建议使用 **Docker Compose** 进行生产部署,因为它包括自动卷持久性和优化的多阶段镜像。
1. **启动服务**:
```bash
docker compose up -d --build
. **环境变量(`.)**:
如果您要在本地网络或互联网上公开您必须使用 `.env` 文件启用安全功能**:
```env
API_KEY=您的超级安全密码
ALLOWED_ORIGIN=https://您的前端域名.com
DB_PATH=/data/data.db
UPLOADS_DIR=/data/uploads/
```
- `API_KEY`:在所有 API 端点上启用身份验证。
- `ALLOWED_ORIGIN`:限制 CORS 访问。默认为 `localhost:3000`。
- `DB_PATH `UPLOADS_DIR在 Dockerfile 中默认为指向挂载卷的 `/data`,确保数据库和临时文件在容器重启后仍然存在。
---
## 结构
```
sqlite-spreadsheet-sync/
├── package.json # 全局执行依赖和脚本
├── server.js # 用于 SQLite 操作/导出的 Express REST API database.js # SQLite和关系助手
├── data # SQLite 数据库文件(自动└── frontend/ + Vite 界面源代码 package.json # 客户端依赖项
├── vite # 配置的通信代理
├── index.html # 主 HTML 模板
└── src/
├── main.jsx # React ├── App.jsx # UI 组件、模态窗口逻辑
└── App.css # 高级样式、动画和暗色主题
```
---
## 📝 实用命令
* **安装后端**:`npm install **安装前端**:` install-frontend`
*启动后端**:`npm run(http://localhost:)
* **仅启动:`npm run client`(http://localhost:3000)
一起运行(推荐)`npm run dev`
*CP 服务器(stdio)**:`npm run mcp` [docs/MCP.md](docs/MCP.md))