# FloCafe **面向咖啡馆、餐厅和小型厨房的免费、开源、离线优先销售点系统。** [English](README.md) | [Español](README.es.md) | [Português](README.pt.md) | [Français](README.fr.md) | [Türkçe](README.tr.md) | [Filipino](README.fil.md) | [Deutsch](README.de.md) | **简体中文** FloCafe 直接运行在商家的电脑上。订单、客户、收据和备份保存在本地 SQLite 数据库中,因此即使没有互联网连接,柜台服务和厨房显示屏也可以继续运行。核心 POS 操作不需要托管账户或云账户。Google Drive 备份、通过 WhatsApp 发送账单以及云端报表等可选集成可以按需启用。 ## 获取 FloCafe 从 [GitHub Releases](https://github.com/FreeOpenSourcePOS/FloCafe/releases) 下载最新安装程序,或通过平台的应用商店安装。也可以使用 [Mac App Store](https://apps.apple.com/in/app/flo-cafe/id6763136018)、[Microsoft Store](https://apps.microsoft.com/detail/9n1md6585p4q) 或 [Snap Store](https://snapcraft.io/flocafe)。 发行版本包含 Windows 安装程序、macOS DMG,以及 Linux 的 AppImage、`.deb`、`.rpm` 和 Snap 软件包。有关 Linux 软件包、更新、FUSE、打印权限和系统托盘行为的信息,请参阅 [Linux 安装与支持指南](docs/linux.md)。 ### 系统要求 | 要求 | 最低配置 | | --- | --- | | 操作系统 | Windows 10+、macOS 12+,或当前受支持的 Linux 发行版 | | 内存 | 4 GB RAM | | 存储空间 | 500 MB 可用空间,另需为本地备份预留空间 | Node.js 仅用于开发 FloCafe,运行打包版本不需要 Node.js。
卸载直接下载的版本 通过 App Store 和 Microsoft Store 安装的版本,应通过对应商店或操作系统移除。 ```sh # macOS curl -fsSL https://github.com/FreeOpenSourcePOS/FloCafe/releases/latest/download/uninstall-macos.sh -o uninstall-macos.sh chmod +x uninstall-macos.sh ./uninstall-macos.sh ``` ```powershell # Windows PowerShell irm https://github.com/FreeOpenSourcePOS/FloCafe/releases/latest/download/uninstall-windows.ps1 -OutFile uninstall-windows.ps1 powershell -ExecutionPolicy Bypass -File .\uninstall-windows.ps1 ``` 两个脚本都会询问是否保留应用数据。除非你确实要删除本地数据库和备份,否则不要选择清除数据的选项。
## 主要功能 - **订单流程:** 支持柜台、堂食、外带和配送订单,并提供桌台管理和挂起订单。 - **商品选项与定价:** 支持商品选项、加料组、折扣和客户忠诚度积分。 - **收据打印:** 支持通过 USB、本地网络(TCP)和操作系统打印队列进行 ESC/POS 热敏打印,并在兼容浏览器中支持 WebUSB 以及 58 mm 和 80 mm 纸张。 - **厨房运营:** 提供独立的厨房显示系统(KDS)服务器和按分类路由到厨房工作站的功能。 - **商品目录管理:** 支持商品图片、条形码扫描以及菜单 CSV 导入/导出。 - **管理功能:** 支持基于角色的员工账户(所有者、经理、收银员、服务员和厨师)、销售分析和审计日志。 - **数据保护:** 使用本地 SQLite 数据库,迁移前自动备份,提供手动恢复工具,并支持可选的 Google Drive 备份。 ## 项目状态 FloCafe 正在积极开发中,并已用于实际部署。项目通过明确的数据库迁移和恢复机制,谨慎保护客户数据和升级安全。部分内部架构和面向扩展的架构仍在演进,具体实现和内部契约可能会变化。 ## 离线优先设计 核心 POS 操作和本地数据支持离线运行。录入订单、结算、KDS 协调和收据打印不依赖互联网或外部云服务。 - SQLite 数据库和本地备份位于操作系统用户数据目录中,与已安装的应用程序文件分开。常规应用更新不会删除这些数据;在重新安装、更换电脑或更换分发渠道前,建议先手动备份。 - FloCafe 在执行数据库架构迁移前会自动创建带时间戳的备份。 - Google Drive 备份、WhatsApp 账单发送和云端报表等服务,只有在商家明确配置并启用后才会通过网络通信。 ## 语言和区域支持 FloCafe 提供英语、西班牙语、法语、巴西葡萄牙语、菲律宾语、土耳其语、波斯语(支持 RTL)、德语、意大利语、日语、简体中文、韩语和印度尼西亚语界面。界面语言独立于商店所在国家和区域设置,税费计算规则则属于独立领域。有关贡献翻译或添加语言的信息,请参阅[国际化与翻译指南](docs/architecture/internationalization.md)。 FloCafe 包含 131 个国家/地区配置和 109 种货币。每个配置提供默认货币、区域设置和时区;商家可以在初始化时或之后的设置中修改时区。 ## 税务支持 FloCafe 提供通用计算引擎,以及针对区域规则、税务类别和舍入策略的签名、版本化区域税务包。国家/地区覆盖范围会通过目录扩展,具体可用性可能不同。运营者也可以在本地配置手动税务规则和税率。 > **提示:** FloCafe 是软件,不构成法律或税务建议。税务包和配置工具本身不代表符合当地法规;运营者仍需核实适用于其业务的要求。 有关税务包编写、验证和架构的详细信息,请参阅[税务包开发指南](docs/reference/tax-packs.md)。 ## 开发 开发 FloCafe 需要 Node.js 22 或更高版本: ```sh git clone https://github.com/FreeOpenSourcePOS/FloCafe.git cd FloCafe npm install npm run dev ``` `npm run dev` 会构建前端和后端,然后启动 Electron。 ### 架构 ```text Electron 主进程 ├── Express API 和 WebSocket 服务器 :3001 ├── 独立厨房显示服务器 :3002 ├── 服务员应用服务器 :3003 └── SQLite 数据库、迁移和打印 ↕ HTTP 和 WebSocket Next.js 渲染器 └── React 界面和 Zustand 客户端状态 ``` 有关开发流程、代码规范和测试流程,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 参与贡献 欢迎贡献代码。开始之前请先阅读 [CONTRIBUTING.md](CONTRIBUTING.md): - **小型 bug 修复、文档改进和有针对性的测试**可以直接开始。 - **新功能、数据库架构变更和架构重构**在实现前需要与维护者讨论并获得批准。 如果 FloCafe 对你有帮助,欢迎为仓库点亮 Star。 ## 帮助与文档 - [文档索引](docs/README.md) - [打印机指南](docs/printers.md) - [Linux 设置与支持](docs/linux.md) - [国际化与翻译](docs/architecture/internationalization.md) - [税务包开发指南](docs/reference/tax-packs.md) - [Google Drive 备份设置](docs/google-drive-setup.md) - [GitHub Issues](https://github.com/FreeOpenSourcePOS/FloCafe/issues) - [GitHub Discussions](https://github.com/FreeOpenSourcePOS/FloCafe/discussions) ## 许可证 FloCafe 是采用 [MIT 许可证](LICENSE) 发布的开源软件。