源码系统概览
文章正文
每日菜单公示系统解决的是食堂信息透明化的问题,把每天吃什么、多少钱、别人怎么评价搬到网页上。就餐者不用到窗口排队询问菜单,扫码即可查看当日三餐与价格,吃完还能匿名评价,管理端则集中处理菜单维护与建议回复。整套系统只有一个Node进程加几个JSON文件,是轻量级内部工具的典型形态。
源码简介
每日菜单公示系统当前版本v2.0.0,最后更新2026年,详见源码内更新日志。
每日菜单公示系统是一套基于Node.js与Express的食堂菜单管理工具,版本2.0.0,主打单机与内网轻量部署。
前台按日期与早中晚三个餐次展示菜品,含价格、简介、标签与菜品图片。
就餐者可对菜品提交评分评价,也可通过建议箱提交意见,管理员在后台处理回复。
数据以JSON文件持久化,无需MySQL,依赖仅express与cors两个包。
项目附README部署文档与Windows启动脚本,npm install后运行start即可访问3000端口。
适用场景
- 单位食堂每日菜单公示屏
- 学校与园区食堂满意度收集
- 小型餐饮门店菜单管理内网工具
技术栈与运行环境
后端Node.js 16以上加Express 4.18,前端原生HTML加JS,数据层为JSON文件。
管理后台为独立HTML页面,通过API与后端交互,部署仅需npm环境。
功能亮点
- 按日期餐次双维度菜单展示
- 菜品图片上传与自动压缩
- 评价加建议箱双反馈通道
- 独立管理后台含仪表盘统计
- JSON文件存储,零数据库依赖
技术架构与部署指南
安装与部署提示
解压后进入项目目录执行npm install,再运行npm start,浏览器访问3000端口。
管理后台地址为admin路径,默认账号admin,默认密码admin123。
生产环境务必修改默认密码,本系统密码为明文比对,建议仅在内网或本机演示使用。
如需公网部署,应为静态目录配置访问控制,避免数据文件被直接下载。
截图与演示说明
演示页面为食堂菜单公示前台,可选日期查看早午晚餐菜品,标注价格、简介与标签。
菜品卡片含图片、评分星级与评价数,评价模块支持提交评分与文字反馈。
页脚展示食堂联系方式与营业时间,整体为浅色单栏布局,手机竖屏浏览友好。
页面下方为菜品评价模块与建议箱模块,页脚展示食堂联系方式与营业时间。

常见问题
问,每日菜单公示系统需要数据库吗?
不需要,2.0版本使用JSON文件持久化,菜单评价建议数据都在data目录。
问,菜单系统和餐厅点餐系统比有什么区别?
对比,Swiggy式的点餐平台面向线上下单交易,本系统只做菜单公示与反馈收集,区别在于无交易环节且部署成本接近零。
程序作者标注为by Cafeteria Menu System,许可证为MIT。
问,菜单数据怎么更新维护?
data目录JSON文件即为数据源,最后更新时间以文件修改时间为准,后台编辑后自动落盘。
问,菜单系统有费用吗?
package.json声明MIT许可证,可免费部署使用。
| 对比项 | 每日菜单公示系统 | 美团 Swiggy |
|---|---|---|
| 部署方式 | 本地部署数据自有 | 云端托管 |
| 授权费用 | MIT协议免费 | 按套餐付费 |
| 数据控制 | 完全自主可控 | 依赖平台 |
| 适合场景 | 内网与私有化 | 公网快速上线 |
对比Swiggy这类托管平台,本源码的替代价值在于数据自有与零订阅成本,和云平台的区别由上表列明。
安全风险提示
本源码经安全审查未发现后门与恶意依赖,69个npm包全部来自官方源,总体风险等级为中。
风险集中在安全实现薄弱,认证为固定字符串令牌而非标准JWT,密码明文比对,README宣称的bcrypt与限流未实现。
评价接口存在存储型XSS,前端以innerHTML渲染游客输入,公网部署前需补充转义。
静态服务将项目根目录整体暴露,data目录下的账号文件可被直接下载,建议加访问控制或改为白名单静态目录。
包内均为演示数据,无真实个人信息。
下载说明
压缩包含完整Node.js项目与node_modules依赖目录,解压即可运行。
下载链接已附于文章底部,提取码8888。
压缩包约3.6MB,含node_modules依赖目录,解压后无需再联网安装依赖。