seunoseya44-tech/stalwart-security-operations-platform
GitHub: seunoseya44-tech/stalwart-security-operations-platform
基于 Laravel 构建的全栈安保运营管理平台,为保安公司整合了公共网站、客户管理、人员部署、事件响应和车队追踪等核心业务流程。
Stars: 0 | Forks: 0
# Stalwart 安全运营平台
一个使用 Laravel 构建的全栈安全服务、人员、事件、车队和内容管理平台。
## 概述 Stalwart 安全运营平台是一个适合用于展示作品的 Laravel 应用程序,专为需要将公共网站和日常运营整合在一个系统中的安保公司而设计。它结合了服务营销、报价获取、客户与保安档案、部署、事件报告、车队追踪、员工工作流、通知以及基于角色的管理功能。 该应用程序采用 Blade 进行服务端渲染,并通过 Tailwind CSS 和 Vite 进行增强。其内置的 SQLite 填充设置让您无需外部基础设施即可在本地轻松评估完整的工作流。 ## 核心功能 ### 公共网站 - 响应式服务目录,包含分类和详情页面 - 报价请求和联系咨询工作流 - 发布安全相关文章、用户推荐和职位空缺 - 通过数据库管理的网站设置和公开内容 ### 运营管理 - 以安全为核心的运营仪表盘,提供活动摘要 - 客户、地点、保安、部署、车辆和警报管理 - 事件接收、分配、证据追踪和状态工作流 - 报价转客户功能,实现更顺畅的销售交接 - 涵盖博客、服务、推荐、招聘和网站设置的 CMS - 具备超级管理员、管理员和员工角色的用户管理 - 针对管理用户的模块级权限控制 - 针对重要管理和员工操作的审计追踪 - 具备恢复和永久删除控制的软删除归档 ### 员工工作区 - 针对所分配部署的基于角色的仪表盘 - 与保安关联的访问权限,以查看相关客户和站点 - 部署更新和交接记录 - 支持选择性上传证据的事件报告 - 应用内通知和阅读状态追踪 ### 平台能力 - Laravel 身份验证、数据验证、CSRF 防护和密码哈希 - 基于数据库的会话、缓存、队列和通知 - Eloquent 关联、JSON 属性和软删除 - 默认使用 SQLite,可通过配置使用 Laravel 支持的其他数据库驱动 - 使用 PHPUnit 进行自动化功能和单元测试 ## 技术栈 | 层级 | 技术 | | --- | --- | | 后端 | PHP 8.3, Laravel 13 | | 前端 | Blade, Tailwind CSS 4, Vite 8 | | 数据库 | SQLite(默认) | | 身份验证 | Laravel session 身份验证,带有自定义角色和权限 | | 异步与状态 | 数据库队列、缓存和会话 | | 测试 | PHPUnit 12 | | 代码质量 | Laravel Pint | 当前构建不依赖于 Livewire、Vue、React、Bootstrap、支付网关或 AI 服务。 ## 环境要求 - PHP 8.3 或更高版本 - Composer 2.7 或更高版本 - Node.js 20 或更高版本以及 npm - Laravel 所需的 PHP 扩展,包括 PDO SQLite - Git ## 安装说明 ### 1. 克隆代码库 ``` git clone https://github.com/seunoseya44-tech/stalwart-security-operations-platform.git cd stalwart-security-operations-platform ``` ### 2. 安装后端依赖 ``` composer install ``` ### 3. 配置环境 ``` cp .env.example .env php artisan key:generate ``` 在 Windows PowerShell 中,如果需要,请使用 `Copy-Item .env.example .env` 替代 `cp`。 默认配置使用 SQLite。在执行数据库迁移之前,请先创建本地数据库文件: ``` php -r "file_exists('database/database.sqlite') || touch('database/database.sqlite');" php artisan migrate --seed ``` 如果需要使用 MySQL 或 PostgreSQL,请在运行迁移之前更新 `.env` 中的 `DB_*` 变量。 ### 4. 安装并构建前端资产 ``` npm install npm run build ``` ### 5. 链接公共存储 ``` php artisan storage:link ``` ### 6. 本地运行 ``` php artisan serve ``` 在浏览器中打开 `http://127.0.0.1:8000`。如果希望通过一条命令同时运行应用程序服务器、队列监听器、日志查看器和 Vite 开发服务器,请运行: ``` composer run dev ``` ## 演示账户 运行 `php artisan migrate --seed` 将创建以下本地演示账户: | 角色 | 邮箱 | 密码 | | --- | --- | --- | | 超级管理员 | `superadmin@stalwartsecurity.ng` | `password` | | 运营管理员 | `admin@stalwartsecurity.ng` | `password` | | 外勤人员 | `staff@stalwartsecurity.ng` | `password` | ## 测试与代码质量 ``` composer test vendor/bin/pint --test npm run build ``` ## 项目结构 ``` app/ |-- Http/Controllers/ Public, admin, authentication, and staff workflows |-- Models/ Security operations and CMS domain models config/ Application and service configuration database/ |-- migrations/ Database schema and operational workflows |-- seeders/ Portfolio demonstration data resources/ |-- css/ Tailwind CSS entry point |-- js/ Frontend JavaScript entry point |-- views/ Blade layouts and public/admin/staff screens routes/ Web and console routes storage/ Local runtime files and uploaded evidence tests/ Feature and unit tests ``` ## 截图 为了获得最佳的作品集展示效果,请将最新的截图添加到 `docs/screenshots/` 目录中,并展示以下内容: | 屏幕 | 展示内容 | | --- | --- | | 公共主页 | 品牌、响应式设计、服务发现和转化路径 | | 管理员仪表盘 | 运营可见性和信息架构 | | 保安部署 | 人员分配和站点覆盖工作流 | | 事件管理 | 报告、分配、状态和证据处理 | | 员工仪表盘 | 基于角色的访问和现场报告 | 向招聘人员和客户展示报价转化为客户记录和部署的简短 GIF 效果尤为突出。 ## 安全注意事项 - `.env`、本地 SQLite 数据库、日志、缓存、上传的文件和依赖目录均已从 Git 中排除。 - 切勿提交生产环境凭据或上传的事件证据。 - 在生产环境中,请设置 `APP_DEBUG=false`,使用唯一的管理员密码,并配置 HTTPS。 - 在生产环境中,请使用受监督的 worker 运行队列,并调度 Laravel 的任务运行器。 - 在使用真实的客户或保安数据进行部署之前,请检查权限和存储可见性。 ## 未来改进 - 添加 REST API endpoint 和 token 身份验证,以供移动端员工客户端使用 - 引入细粒度的策略和自动化授权覆盖 - 增加部署排班、考勤和班次冲突检测 - 生成可下载的事件、风险评估和客户报告 - 为车队运营集成地图和实时遥测功能 - 添加邮件/短信升级通道和队列通知传递 - 为测试、格式化、依赖审计和前端构建添加 CI 检查 - 添加基于 Docker 的开发和部署配置 ## 开源协议 本项目是开源软件,采用 [MIT License](LICENSE) 授权。 ## 开发者 由 [seunoseya44-tech](https://github.com/seunoseya44-tech) 开发。 如需项目咨询,请在此处添加您常用的专业电子邮件地址或 LinkedIn 个人资料链接。标签:ffuf, Laravel, SQLite, Syscall, Web开发, 企业资源计划, 内容管理系统, 实体安防运营管理, 工单系统, 网络研究