WorkTeam01/FlowPOS

GitHub: WorkTeam01/FlowPOS

一款基于 PHP 和 MariaDB 的开源 Web 端 POS 系统,提供销售、采购、库存与角色权限管理功能。

Stars: 0 | Forks: 0

# FlowPOS 用于销售和库存管理的开源 Web 应用程序,使用 PHP、MariaDB 和 AdminLTE 构建。 可作为销售点(POS)项目的可复用基础,以及无框架的经典 MVC 架构参考。 ![PHP](https://img.shields.io/badge/PHP-7.4%2B-777BB4?logo=php&logoColor=white) ![MariaDB/MySQL](https://img.shields.io/badge/DB-MariaDB%20%7C%20MySQL-003545?logo=mariadb&logoColor=white) ![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg) ![Status](https://img.shields.io/badge/status-active-success)
## 功能特性 - 销售管理,支持逐项明细和混合支付方式。 - 库存控制(库存量、最低和最高库存限制)。 - 产品、分类和客户管理。 - 采购模块,可自动更新库存。 - 按角色区分的控制面板和访问权限。 - 针对用户的细粒度权限系统。 - 使用 TCPDF 生成 PDF 凭证。 ## 技术栈 | 层级 | 技术组件 | | --------- | --------------------------------------------------------------------------- | | Backend | PHP 7.4+, MariaDB/MySQL, PDO | | Frontend | Bootstrap 4, AdminLTE 3, jQuery, Chart.js, DataTables, Select2, SweetAlert2 | | 库表 | TCPDF, FontAwesome, Moment.js | ## 截图 ### 控制台 总览视图,提供销售和库存的关键指标以进行运营跟踪。 ![控制台](https://static.pigsec.cn/wp-content/uploads/repos/cas/cf/cf3aa1b0ab6750e0464c030f3dbf07c7c824734650f41518e93a594d0c86cad9.png) ### 销售 销售登记流程,包含产品明细和支付方式。 ![销售](https://static.pigsec.cn/wp-content/uploads/repos/cas/6c/6c5104f2d30284c87950d84bc7409501cdf15b02ee2b7451340c756a8f755fa9.png) ### 产品 目录、分类、价格管理和库存控制。 ![产品](https://static.pigsec.cn/wp-content/uploads/repos/cas/80/80fbee1ec50589f853dbd86e37576c903e00b15529604dc013b5851c6bc67a9f.png) ## 环境要求 - Apache 2.4+ 且开启 `mod_rewrite` - PHP 7.4+ 且安装了 `pdo_mysql`, `gd`, `mbstring`, `zip` 扩展 - MariaDB 10.3+ 或 MySQL 5.7+ - XAMPP/LAMP(推荐用于本地环境) ## 快速入门 ### 1. 克隆仓库 ``` git clone cd FlowPOS ``` ### 2. 配置环境 ``` cp .env.example .env ``` 主要变量: | 变量 | 描述 | 示例 | | --------------- | ----------------------------- | ---------------------------------- | | `APP_NAME` | 应用程序显示名称 | `FlowPOS` | | `APP_VERSION` | 应用程序当前版本 | `1.0.0` | | `APP_CURRENCY` | 货币符号 | `Bs`, `$`, `€`, `S/` | | `APP_URL` | 基础 URL(必须以 `/` 结尾) | `http://localhost/FlowPOS/` | | `TIMEZONE` | PHP 时区 | `America/La_Paz` | | `DB_HOST` | 数据库 Host | `localhost` | | `DB_NAME` | 数据库名称 | `flowpos` | | `DB_USER` | 数据库用户名 | `root` | | `DB_PASS` | 数据库密码 | `` | | `DEBUG` | 调试模式(`true`/`false`) | `false` | ### 3. 创建数据库并导入 schema ``` mysql -u root -e "CREATE DATABASE flowpos CHARACTER SET utf8mb4;" mysql -u root flowpos < schema.sql ``` ### 4. (可选)加载示例数据 ``` mysql -u root flowpos < seed.sql ``` 演示凭证(如果您导入了 `seed.sql`): | 用户 | 角色 | 密码 | | -------------------- | ------------- | ---------- | | `admin@demo.com` | 管理员 | `admin123` | | `supervisor@demo.com`| 主管 | `admin123` | | `vendedor@demo.com` | 销售员 | `admin123` | ### 5. 设置上传目录的写入权限 ``` chmod 755 public/uploads/ public/uploads/productos/ public/uploads/clientes/ public/uploads/usuarios/ ``` ### 6. 启动服务并打开应用 ``` sudo /opt/lampp/lampp start ``` 访问:`http://localhost/FlowPOS/` ## 访问模型 可用角色: - **管理员**:完全访问权限。 - **主管**:运营和控制权限。 - **销售员**:销售流程和查询权限。 除了角色之外,应用程序还允许按用户设置细粒度的权限。 ## 项目结构 ``` FlowPOS/ ├── index.php ├── schema.sql ├── seed.sql ├── config/ ├── controllers/ ├── models/ ├── services/ ├── views/ ├── libs/ └── public/ ``` ## 安全注意事项 - 在任何实际部署中,请立即更改演示凭证。 - 在开发环境之外请使用 `DEBUG=false`。 - 切勿公开 `.env` 文件。 - 如果处理真实数据,请配置 HTTPS 并使用强健的数据库凭证。 ## 更新日志 项目的更新历史记录位于 [`CHANGELOG.md`](./CHANGELOG.md) 中。 ## 许可证 基于 MIT 许可证分发。请查看 [`LICENSE`](./LICENSE) 文件。
使用 PHP + MariaDB 为开源社区打造。
标签:AdminLTE, ffuf, MariaDB, MVC架构, OpenVAS, PHP, 开源POS系统, 权限控制, 销售与库存管理