# elm-software-engineering **Repository Path**: dai-mingjing/elm-software-engineering ## Basic Information - **Project Name**: elm-software-engineering - **Description**: 软件工程大作业来源仓库 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-04 - **Last Updated**: 2026-02-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 点必达外卖平台项目(软件工程1) 仓库地址:https://gitee.com/dai-mingjing/elm-software-engineering.git ## 1 项目结构 后端代码存放目录 elm_bk 前端代码存放目录 elmclient ## 2 项目部署 **本项目已部署至小组的服务器上** - 如果想直接查看效果请访问:[http://bobchasm.cn:8081/](http://bobchasm.cn:8081/) 特别提供一个项目管理员账号:用户名 admin,密码 Admin123 - 后端部分接口前缀:[http://bobchasm.cn:8080](http://bobchasm.cn:8080) - 接口文档路径:[http://bobchasm.cn:8080/swagger-ui/index.html](http://bobchasm.cn:8080/swagger-ui/index.html) **若自己部署请注意:** 1. 如需验收整个项目(即前后端完整效果),请使用我们提供的sql建库并在配置文件中使用它,以下会详细说明 2. 以下部署说明主要针对win系统,Linux系统部署方法命令行操作类似 可参考 [从0开始在linux服务器上部署SpringBoot和Vue_vue项目linux部署-CSDN博客](https://blog.csdn.net/m0_53140426/article/details/144745031?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522061248a22aceb1ff2288a8b50a813a59%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=061248a22aceb1ff2288a8b50a813a59&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-2-144745031-null-null.142%5Ev102%5Epc_search_result_base7&utm_term=Linux%E9%83%A8%E7%BD%B2spingboot%E5%92%8Cvue&spm=1018.2226.3001.4187) #### 2.1 后端部分 **技术栈** - SpringBoot - Maven - Mybatis - redis - rabbitmq ##### 开发环境 JDK 17 SpringBoot 3.4.6 Mybatis 3.0.4 MySQL版本信息: ``` Source Server : localhost Source Server Type : MySQL Source Server Version : 80040 (8.0.40) Source Host : localhost:3306 Source Schema : elm_v2 Target Server Type : MySQL Target Server Version : 80040 (8.0.40) File Encoding : 65001 ``` ##### 配置 - 配后端置文件 ``` frontend-comprehension/elm_bk/src/main/resources/application.yml ``` 可修改配置:数据库、redis、rabbitmq,若您想尝试使用这些本地服务 - 数据库 使用本地数据库服务时,请新建一个名为 **elm_v2** 的数据库,并运行以下路径中的建表语句: ``` frontend-comprehension/elm_bk/sql/elm_v2.sql ``` ##### 部署运行 1.中间件服务准备 如果您想使用自己的中间件(已经修改相关配置文件的情况下),请先启动自己的服务,否则忽略这一步 2.打包 若使用IDEA打包项目,先 clean,再 package,成功控制台如图 若使用命令行打包: 在 /frontend-comprehension/elm_bk 中打开cmd,执行: ```bash mvn clean package ``` 成功如下图: ![Alt](./gra/success_cmd_package.png) 生成的项目jar包路径在: ``` frontend-comprehension/elm_bk/target/elm_bk-0.0.1-SNAPSHOT.jar ``` 3.命令行在jar包存放的目录中执行: ```bash java -jar elm_bk-0.0.1-SNAPSHOT.jar ``` 如果出现报错 "error='页面文件太小,无法完成操作。' (DOS error/errno=1455)" 请重新执行以下命令: ```bash java -Xmx128m -Xms64m -XX:MaxMetaspaceSize=64m -XX:+UseSerialGC -jar elm_bk-0.0.1-SNAPSHOT.jar ``` 注:该命令进行了内存配置 后端配置端口为 8080,请注意端口占用 4.当终端出现以下界面,则启动成功: ![Alt](./gra/success_bk_start.png) 如使用IDEA在启动或打包项目时遇到控制台报错如 "找不到符号",请确保以下位置选择正确 ![Alt](./gra/fix1.png) ![Alt](./gra/fix2.png) ### 2.2 前端部分 基于 Vue3 ##### 环境准备 - 保证npm可用 可参见 [VUE安装及环境配置(完整版)-CSDN博客](https://blog.csdn.net/qq_52611686/article/details/142653081?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522b9220596f6cbffa1a2f0eb8c533005ed%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=b9220596f6cbffa1a2f0eb8c533005ed&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-142653081-null-null.142%5Ev102%5Epc_search_result_base7&utm_term=vue%E5%AE%89%E8%A3%85%E5%8F%8A%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE&spm=1018.2226.3001.4187) - node 可参见 [Node.js安装与配置(详细步骤)_nodejs安装及环境配置-CSDN博客](https://blog.csdn.net/qq_42006801/article/details/124830995?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522363c66d0a867fcac896383171b678743%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=363c66d0a867fcac896383171b678743&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-124830995-null-null.142%5Ev102%5Epc_search_result_base7&utm_term=%E9%85%8D%E7%BD%AEnode&spm=1018.2226.3001.4187) ##### 运行 - 如在ide里直接启动 1.可以使用 Visual Studio Code 打开项目前端部分: ``` frontend-comprehension/elmclient ``` 2.在其终端 TERMINAL 安装依赖 (请先确保具有vue环境与npm): ```bash npm -i ``` 如果失败,则尝试: ```bash cnpm -i ``` 3.启动 ```bash npm run serve ``` 当终端出现访问url,则启动成功。访问url即可跳转至项目首页(在此之前请保证后端项目已启动) - 如要进行部署(已配置node) 以下内容参考 [Vue前端项目部署的三种方案_vue项目部署-CSDN博客](https://blog.csdn.net/qq_44741577/article/details/139236697?ops_request_misc=%257B%2522request%255Fid%2522%253A%252201c3d7a19a919480657fd6784f177099%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=01c3d7a19a919480657fd6784f177099&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-139236697-null-null.142%5Ev102%5Epc_search_result_base7&utm_term=%E5%89%8D%E7%AB%AFvue%E9%A1%B9%E7%9B%AE%E9%83%A8%E7%BD%B2&spm=1018.2226.3001.4187) 注:由于前端请求接口时使用本地路径前缀,请将前后端部署在同一台计算机上,保证可以localhost本地访问,否则需要修改所有前端代码接口请求路径localhost为指定域名或ip,以及前端AdminHome.vue、MerchantOrders.vue、MyInformation.vue、Notifications.vue、OrderList.vue中的WebSocket请求路径(目前是{wsProtocol}//localhost:8080/ws/{sid}) 1.在 **/node/nodejs/** 下新建一个名为 **my_server** 的文件夹,在此文件夹下打开cmd命令行终端 (注:最好使用管理员身份打开) 2.执行: ```bash npm init -y ``` 出现以下输出则成功: ![Alt](./gra/init.png) 3.安装快速部署插件 **express** ```bash npm i express ``` 4.在前面创建的 **my_server** 目录下新建文件 server.js,内容如下: ```js // 引入express const express = require("express"); // 配置端口号 const PORT = 8081; // 创建一个app服务实例 const app = express(); // 配置静态资源 app.use(express.static(__dirname + "/public")); // 绑定端口监听 app.listen(PORT, () => { console.log(`本地服务器启动成功,http://localhost:${PORT}`); }); ``` 5.在 **my_server** 文件夹下新建文件夹 **public**,后续用于存放vue项目的文件 6.打包前端代码 - 直接将以下路径目录中的所有东西复制到前面创建的 **my_server** 文件夹下的 **public** 中。若之后在下面第7点出现失败,请尝试自己打包(如下一点) ``` frontend-comprehension/elmclient/dist/ ``` - 自己打包: 使用ide (Visual Studio Code) 或者是命令行终端打开项目的前端部分: ``` frontend-comprehension/elmclient ``` 执行: ```bash npm i #如失败则尝试 cnpm i npm run build ``` 项目文件 **elmclient** 下中将出现文件夹 **dist**,之后同上 7.在 **my_server** 目录下打开cmd,执行: ```bash node .\server.js ``` 出现以下输出则启动成功,可以通过输出的url访问到app的首页 ``` 本地服务器启动成功,http://localhost:8081 ``` ## 3 一些说明 欢迎贡献代码、报告问题或提出建议! ### 3.1 提交问题 - 描述问题现象 - 提供复现步骤 - 附上错误日志 - 说明环境信息 ### 3.2 提交代码 1. Fork本仓库 2. 创建功能分支 3. 提交代码并编写测试 4. 提交Pull Request ### 3.3 联系方式 如有问题或建议,请通过以下方式联系: - **邮箱**: zengyicydd@tju.edu.cn gaocan@tju.edu.cn yxy641121@gmail.com daimingjing142857@tju.edu.cn jsyy@tju.edu.cn - **Gitee Issues**:提交问题到项目仓库