{"id":28334238,"url":"https://github.com/scholarchen20/sky-take-out","last_synced_at":"2026-05-10T02:04:17.190Z","repository":{"id":295539064,"uuid":"990365978","full_name":"ScholarChen20/sky-take-out","owner":"ScholarChen20","description":"黑马程序员最新Java项目实战《苍穹外卖》，最适合新手的SpringBoot+SSM企业级项目实战 相比于瑞吉外卖苍穹外卖的业务更加真实完整，用户端改为微信小程序，登录改为了微信登录，加入了统计报表，来单提醒，客户催单，订单管理等功能，业务实现了闭环。技术选型更加丰富和实用。可以认为是增强版瑞吉外卖","archived":false,"fork":false,"pushed_at":"2025-05-26T03:17:15.000Z","size":1770,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-05-26T04:28:36.391Z","etag":null,"topics":["aliyun-oss","echarts","mybatis","redis","spring-cache","spring-task","springboot2","springmvc","websocket","wechatpay"],"latest_commit_sha":null,"homepage":"https://github.com/ScholarChen20/sky-take-out","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ScholarChen20.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-26T02:28:17.000Z","updated_at":"2025-05-26T03:17:18.000Z","dependencies_parsed_at":"2025-05-26T04:38:47.572Z","dependency_job_id":null,"html_url":"https://github.com/ScholarChen20/sky-take-out","commit_stats":null,"previous_names":["scholarchen20/sky-take-out"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ScholarChen20/sky-take-out","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScholarChen20%2Fsky-take-out","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScholarChen20%2Fsky-take-out/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScholarChen20%2Fsky-take-out/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScholarChen20%2Fsky-take-out/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ScholarChen20","download_url":"https://codeload.github.com/ScholarChen20/sky-take-out/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScholarChen20%2Fsky-take-out/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260778897,"owners_count":23061743,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aliyun-oss","echarts","mybatis","redis","spring-cache","spring-task","springboot2","springmvc","websocket","wechatpay"],"created_at":"2025-05-26T21:17:56.843Z","updated_at":"2026-05-10T02:04:17.094Z","avatar_url":"https://github.com/ScholarChen20.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 苍穹外卖\n\n## 一.项目介绍\n\n本项目（苍穹外卖）是专门为餐饮企业（餐厅、饭店）定制的一款软件产品，包括 系统管理后台 和 小程序端应用 两部分。其中系统管理后台主要提供给餐饮企业内部员工使用，可以对餐厅的分类、菜品、套餐、订单、员工等进行管理维护，对餐厅的各类数据进行统计，同时也可进行来单语音播报功能。小程序端主要提供给消费者使用，可以在线浏览菜品、添加购物车、下单、支付、催单等。\n\n## 二.功能架构图\n\n\n\n![aritecture.png](assert/aritecture.png)\n\n### (1).管理端功能\n\n员工登录/退出 , 员工信息管理 , 分类管理 , 菜品管理 , 套餐管理 , 菜品口味管理 , 订单管理 ，数据统计，来单提醒。\n\n### (2).用户端功能\n\n微信登录 , 收件人地址管理 , 用户历史订单查询 , 菜品规格查询 , 购物车功能 , 下单 , 支付、分类及菜品浏览。\n\n## 三.技术选型\n\n![technology.png](assert/technology.png)\n\n### (1). 用户层\n\n本项目中在构建系统管理后台的前端页面，我们会用到H5、Vue.js、ElementUI、apache echarts(展示图表)等技术。而在构建移动端应用时，我们会使用到微信小程序。\n\n### (2). 网关层\n\nNginx是一个服务器，主要用来作为Http服务器，部署静态资源，访问性能高。在Nginx中还有两个比较重要的作用： 反向代理和负载均衡， 在进行项目部署时，要实现Tomcat的负载均衡，就可以通过Nginx来实现。\n\n### (3). 应用层\n\nSpringBoot： 快速构建Spring项目, 采用 \"约定优于配置\" 的思想, 简化Spring项目的配置开发。 SpringMVC：SpringMVC是spring框架的一个模块，springmvc和spring无需通过中间整合层进行整合，可以无缝集成。 Spring Task: 由Spring提供的定时任务框架。 httpclient: 主要实现了对http请求的发送。 Spring Cache: 由Spring提供的数据缓存框架 JWT: 用于对应用程序上的用户进行身份验证的标记。 阿里云OSS: 对象存储服务，在项目中主要存储文件，如图片等。 Swagger： 可以自动的帮助开发人员生成接口文档，并对接口进行测试。 POI: 封装了对Excel表格的常用操作。 WebSocket: 一种通信网络协议，使客户端和服务器之间的数据交换更加简单，用于项目的来单、催单功能实现。\n\n### (4). 数据层\n\nMySQL： 关系型数据库, 本项目的核心业务数据都会采用MySQL进行存储。 Redis： 基于key-value格式存储的内存数据库, 访问速度快, 经常使用它做缓存。 Mybatis： 本项目持久层将会使用Mybatis开发。 pagehelper: 分页插件。 spring data redis: 简化java代码操作Redis的API。\n\n### (5). 工具\n\ngit: 版本控制工具, 在团队协作中, 使用该工具对项目中的代码进行管理。 maven: 项目构建工具。 junit：单元测试工具，开发人员功能实现完毕后，需要通过junit对功能进行单元测试。 postman: 接口测工具，模拟用户发起的各类HTTP请求，获取对应的响应结果。\n\n\n## 四.技术栈\n\n- 后端框架\n    - SpringBoot\n    - SpringMVC\n    - Spring Task\n    - httpclient\n    - Spring Cache\n    - mybatis\n    - Swagger\n    - Websocket\n    - aliyun oss\n    - JWT\n    - POI\n    - wechatpay(模拟)\n- 数据库\n    - MySql\n    - Redis\n- 前端框架\n    - Vue\n    - ElementUI\n    - Vue-Router\n    - Axios\n    - ECharts\n    - 微信小程序\n\n## 五.配置文件修改\n\n ```yml\n    sky:\n       datasource:\n         driver-class-name: com.mysql.cj.jdbc.Driver\n         host: localhost\n         port: 3306\n         database: sky_take_out\n         username: 本机账号\n         password: 本机密码\n    aliyun:   #阿里云配置,用于文件上传\n        access-key-id: xxxxxxxxxxxxxxxxxxxx  #阿里云accessKey\n        access-key-secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxx #阿里云secretKey\n        endpoint: oss-cn-beijing.aliyuncs.com  #阿里云endpoint\n        bucket-name: xxxxxxxx  #阿里云bucketName\n    redis:\n        host: 192.168.100.128  #redis地址\n        port: 6379  #redis端口\n        password: xxxxxx  #redis密码\n        database: 0\n    wx:   #微信配置\n       app-id: wxffb3637a228223b8 #微信公众号appid\n       app-secret: 84311df9199ecacdf4f12d27b6b9522d  #微信公众号appsecret\n       mchid: 1561414331  #微信商户号mchid\n       mchSerialNo: 4B3B3DC35414AD50B1B755BAF8DE9CC7CF407606  #微信商户号密钥\n       privateKeyFilePath:  D:\\pay\\apiclient_key.pem      #微信商户号私钥文件路径\n       apiV3Key: CZBK51236435wxpay435434323FFDuv3         #微信商户号v3密钥\n       weChatPayCertFilePath: D:\\pay\\wechatpay_166D96F876F45C7D07CE98952A96EC980368ACFC.pem   #微信商户号证书文件路径\n       notifyUrl: http://xxxxxxxxx/notify/paySuccess  #微信支付成功回调地址(xxxx部分需要替换成使用本项目启动的cpolar软件中的域名)\n       refundNotifyUrl: https://xxxxxxxxx/notify/refundSuccess  #微信退款成功回调地址(xxxx部分需要替换成使用本项目启动的cpolar软件中的域名)\n    shop:\n      address: 北京市朝阳区北苑东路11号院\n    baidu:\n      ak: xxxxxxxxxxxxxxxxxxx #百度地图ak(需要自己去百度地图开发平台申请应用获取ak)\n   ```\n## 六.项目演示\n\n- 管理员端\n\n工作台：\n![工作台.png](assert/%E5%B7%A5%E4%BD%9C%E5%8F%B0.png)\n数据统计：\n![数据统计.png](assert/%E6%95%B0%E6%8D%AE%E7%BB%9F%E8%AE%A1.png)\n订单管理：\n![订单管理.png](assert/%E8%AE%A2%E5%8D%95%E7%AE%A1%E7%90%86.png)\n套餐管理：\n![套餐管理.png](assert/%E5%A5%97%E9%A4%90%E7%AE%A1%E7%90%86.png)\n菜品管理：\n![菜品管理.png](assert/%E8%8F%9C%E5%93%81%E7%AE%A1%E7%90%86.png)\n分类管理：\n![分类管理.png](assert/%E5%88%86%E7%B1%BB%E7%AE%A1%E7%90%86.png)\n员工管理：\n![员工管理.png](assert/%E5%91%98%E5%B7%A5%E7%AE%A1%E7%90%86.png)\n- 用户端\n\n![小程序首页.png](assert/%E5%B0%8F%E7%A8%8B%E5%BA%8F%E9%A6%96%E9%A1%B5.png)\n\n![用户界面.png](assert/%E7%94%A8%E6%88%B7%E7%95%8C%E9%9D%A2.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscholarchen20%2Fsky-take-out","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscholarchen20%2Fsky-take-out","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscholarchen20%2Fsky-take-out/lists"}