TrashBin是一款功能完善的垃圾收集管理系统源码,采用先进的Express.js REST API后端和React前端技术构建。该系统通过角色权限管理、智能报表和文档管理,有效优化垃圾收集、路线规划和运营流程。特别适合市政部门、环卫公司和环保机构使用,并采用JWT技术实现安全的无状态身份验证。

- 垃圾管理:实时追踪垃圾类型、数量和收集记录
- 垃圾桶管理:全面监控和管理垃圾桶位置、容量和填充状态
- 员工与司机管理:分配工作人员,管理考勤和文档,支持基于角色的访问控制
- 环卫车辆管理:跟踪车辆信息、维护记录和相关文档
- 路线与区域规划:创建收集区域并分配最优路线,提升收集效率
- 报表与分析:生成垃圾、车辆和员工报表,支持图表展示和XLSX/PDF格式导出
- 系统设置:企业品牌定制、SMTP配置和系统警报设置
- 现代化API:基于Express.js REST API,使用Drizzle ORM实现类型安全的SQL操作
- 响应式设计:完全响应式用户界面,兼容桌面电脑、平板和移动设备
- 便捷集成:提供清晰的REST API,支持第三方系统集成
- 安全认证:JWT身份验证确保API访问的安全性和可靠性
TrashBin采用清晰的架构设计(控制器、服务、验证器),确保系统的可维护性。通过Zod实现强大的服务器端验证,提供友好的错误提示信息。支持文件上传并采用魔术数字验证技术防止MIME欺骗。在认证和API端点上实施速率限制,有效防止滥用行为。提供图表展示和CSV/XLSX/PDF导出功能,满足管理报表需求。
功能模块- 仪表盘与关键绩效指标
- 垃圾收集管理(增删改查、调度、状态跟踪)
- 垃圾桶管理(增删改查、分配)
- 区域与路线规划(计划、分配)
- 环卫车辆管理(文档、维护记录)
- 员工管理(考勤、文档、路线分配)
- 报表系统(垃圾、车辆、员工、垃圾类型)
- 系统设置(企业信息、SMTP、警报)
采用现代技术栈:Express 5、React、Drizzle ORM、MySQL。具备完善的安全保障:JWT身份验证、数据验证、速率限制、XSS防护和文件签名检查。生产环境就绪:提供清晰的文档、环境模板和构建步骤。具备良好的扩展性:采用模块化服务、验证器和路由设计。
技术架构 后端技术- Express.js:Node.js快速、灵活的Web框架
- Drizzle ORM:现代、高性能的JavaScript SQL ORM
- MySQL2:Node.js快速MySQL驱动
- JWT:用于安全认证的JSON Web Tokens
- JavaScript:现代JavaScript(ES6+)开发
- React 19:用于构建仪表盘的UI库
- JavaScript:现代JavaScript(ES6+)
- Bootstrap:响应式设计框架
- Node.js 18+(LTS)或20+
- npm 9+ 或 Yarn
- MySQL 8+
- Express.js 5
- Drizzle ORM
- Node.js 18+ 或 20+
- npm 或 Yarn
- React 19
后端安装:运行npm install → 配置.env文件 → 导入database.sql或运行npm run db:migrate & npm run db:seed → 执行npm run dev
前端安装:运行npm install → 在.env中设置VITE_API_BASE_URL → 执行npm run dev 或 npm run build
常见问题能否使用其他数据库?
TrashBin默认支持MySQL。通过Drizzle ORM可以移植到其他SQL引擎,但本版本不提供官方支持。
是否包含移动应用?
不包含。本系统提供React Web管理界面和Express API,不包含移动应用程序。
能否为客户进行品牌定制?
可以。您可以在设置和用户界面中更改Logo、颜色和系统名称。


