- 當(dāng)前位置: 主頁(yè) > 教育教學(xué) > 學(xué)生作品 > 軟件與信息服務(wù)專(zhuān)業(yè)項(xiàng)目視頻 >
外賣(mài)系統(tǒng)
發(fā)布時(shí)間:2023-05-16 09:03 信息來(lái)源:www.caseyandewan.com作者:?郴州科龍職業(yè)技術(shù)學(xué)校點(diǎn)擊量:次
本項(xiàng)目(瑞吉外賣(mài))是專(zhuān)門(mén)為餐飲企業(yè)(餐廳、飯店)定制的一款軟件產(chǎn)品,包 括系統(tǒng)管理后臺(tái)和移動(dòng)端應(yīng)用兩部分。其中系統(tǒng)管理后臺(tái)主要提供給餐飲企業(yè)內(nèi) 部員工使用,可以對(duì)餐廳的分類(lèi)、菜品、套餐、訂單、員工等進(jìn)行管理維護(hù)。移 動(dòng)端應(yīng)用主要提供給消費(fèi)者使用,可以在線(xiàn)瀏覽菜品、添加購(gòu)物車(chē)、下單等。
二、項(xiàng)目功能實(shí)現(xiàn)
1、項(xiàng)目思維導(dǎo)圖
2、后臺(tái)管理主要功能:
模塊 | 描述 |
登錄/退出 | 內(nèi)部員工必須登錄后,才可以訪(fǎng)問(wèn)系統(tǒng)管理后臺(tái) |
員工管理 | 管理員可以在系統(tǒng)后臺(tái)對(duì)員工信息進(jìn)行管理,包含查詢(xún)、新增、編輯、禁用等功能 |
分類(lèi)管理 | 主要對(duì)當(dāng)前餐廳經(jīng)營(yíng)的 菜品分類(lèi) 或 套餐分類(lèi) 進(jìn)行管理維護(hù), 包含查詢(xún)、新增、修改、刪除等功能 |
菜品管理 | 主要維護(hù)各個(gè)分類(lèi)下的菜品信息,包含查詢(xún)、新增、修改、刪除、啟售、停售等功能 |
套餐管理 | 主要維護(hù)當(dāng)前餐廳中的套餐信息,包含查詢(xún)、新增、修改、刪除、啟售、停售等功能 |
訂單明細(xì) | 主要維護(hù)用戶(hù)在移動(dòng)端下的訂單信息,包含查詢(xún)、取消、派送、完成,以及訂單報(bào)表下載等功能 |
3、用戶(hù)端主要功能:
模塊 | 描述 |
登錄/退出 | 在移動(dòng)端, 用戶(hù)也需要登錄后使用 APP 進(jìn)行點(diǎn)餐 |
點(diǎn)餐-菜單 | 在點(diǎn)餐界面需要展示出菜品分類(lèi)/套餐分類(lèi), 并根據(jù)當(dāng)前選擇的分類(lèi)加載其中的菜品信息, 供用戶(hù)查詢(xún)選擇 |
點(diǎn)餐-購(gòu)物車(chē) | 用戶(hù)選中的菜品就會(huì)加入用戶(hù)的購(gòu)物車(chē), 主要包含 查詢(xún)購(gòu)物車(chē)、加入購(gòu)物車(chē)、刪除購(gòu)物車(chē)、清空購(gòu)物車(chē)等 功能 |
訂單支付 | 用戶(hù)選完菜品/套餐后, 可以對(duì)購(gòu)物車(chē)菜品進(jìn)行結(jié)算支付, 這時(shí)就需要進(jìn)行訂單的支付 |
個(gè)人信息 | 在個(gè)人中心頁(yè)面中會(huì)展示當(dāng)前用戶(hù)的基本信息, 用戶(hù)可以管理收貨地址, 也可以查詢(xún)歷史訂單數(shù)據(jù) |
三、技術(shù)選型
關(guān)于本項(xiàng)目的技術(shù)選型, 我們將會(huì)從 用戶(hù)層、網(wǎng)關(guān)層、應(yīng)用層、數(shù)據(jù)層 這幾個(gè) 方面進(jìn)行介紹,而對(duì)于我們服務(wù)端開(kāi)發(fā)工程師來(lái)說(shuō),在項(xiàng)目開(kāi)發(fā)過(guò)程中,我們主 要關(guān)注應(yīng)用層及數(shù)據(jù)層技術(shù)的應(yīng)用。
1、用戶(hù)層
本項(xiàng)目中在構(gòu)建系統(tǒng)管理后臺(tái)的前端頁(yè)面,我們會(huì)用到 H5、Vue.js、ElementUI 等技術(shù)。而在構(gòu)建移動(dòng)端應(yīng)用時(shí),我們會(huì)使用到微信小程序。
2、網(wǎng)關(guān)層
Nginx 是一個(gè)服務(wù)器,主要用來(lái)作為 Http 服務(wù)器,部署靜態(tài)資源,訪(fǎng)問(wèn)性能高。 在 Nginx 中還有兩個(gè)比較重要的作用: 反向代理和負(fù)載均衡, 在進(jìn)行項(xiàng)目部署 時(shí),要實(shí)現(xiàn) Tomcat 的負(fù)載均衡,就可以通過(guò) Nginx 來(lái)實(shí)現(xiàn)。
3、應(yīng)用層
SpringBoot: 快速構(gòu)建 Spring 項(xiàng)目, 采用 "約定優(yōu)于配置" 的思想, 簡(jiǎn)化 Spring 項(xiàng)目的配置開(kāi)發(fā)。
Spring: 統(tǒng)一管理項(xiàng)目中的各種資源(bean), 在 web 開(kāi)發(fā)的各層中都會(huì)用到。
SpringMVC:SpringMVC 是 spring 框架的一個(gè)模塊,springmvc 和 spring 無(wú)需通 過(guò)中間整合層進(jìn)行整合,可以無(wú)縫集成。
SpringSession: 主要解決在集群環(huán)境下的 Session 共享問(wèn)題。
lombok:能以簡(jiǎn)單的注解形式來(lái)簡(jiǎn)化 java 代碼,提高開(kāi)發(fā)人員的開(kāi)發(fā)效率。例 如開(kāi)發(fā)中經(jīng)常需要寫(xiě)的 javabean,都需要花時(shí)間去添加相應(yīng)的 getter/setter,也許 還要去寫(xiě)構(gòu)造器、equals 等方法。
Swagger: 可以自動(dòng)的幫助開(kāi)發(fā)人員生成接口文檔,并對(duì)接口進(jìn)行測(cè)試。
4、數(shù)據(jù)層
MySQL: 關(guān)系型數(shù)據(jù)庫(kù), 本項(xiàng)目的核心業(yè)務(wù)數(shù)據(jù)都會(huì)采用 MySQL 進(jìn)行存儲(chǔ)。
MybatisPlus: 本項(xiàng)目持久層將會(huì)使用 MybatisPlus 來(lái)簡(jiǎn)化開(kāi)發(fā), 基本的單表增刪 改查直接調(diào)用框架提供的方法即可。
Redis: 基于 key-value 格式存儲(chǔ)的內(nèi)存數(shù)據(jù)庫(kù), 訪(fǎng)問(wèn)速度快, 經(jīng)常使用它做緩存 (降低數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)壓力, 提供訪(fǎng)問(wèn)效率), 在后面的性能優(yōu)化中會(huì)使用。
5、項(xiàng)目工具
git: 版本控制工具, 在團(tuán)隊(duì)協(xié)作中, 使用該工具對(duì)項(xiàng)目中的代碼進(jìn)行管理。
maven: 項(xiàng)目構(gòu)建工具。
junit:?jiǎn)卧獪y(cè)試工具,開(kāi)發(fā)人員功能實(shí)現(xiàn)完畢后,需要通過(guò) junit 對(duì)功能進(jìn)行單 元測(cè)試。
四、功能架構(gòu)
移動(dòng)端前端功能:手機(jī)號(hào)登錄 , 微信登錄 , 收件人地址管理 , 用戶(hù)歷史訂單查詢(xún) , 菜品規(guī)格查 詢(xún) , 購(gòu)物車(chē)功能 , 下單 , 分類(lèi)及菜品瀏覽。
系統(tǒng)管理后臺(tái)功能:?jiǎn)T工登錄/退出 , 員工信息管理 , 分類(lèi)管理 , 菜品管理 , 套餐管理 , 菜品口味 管理 , 訂單管理 。
五、用戶(hù)角色
在瑞吉外賣(mài)這個(gè)項(xiàng)目中,存在以下三種用戶(hù),這三種用戶(hù)對(duì)應(yīng)三個(gè)角色: 后臺(tái) 系統(tǒng)管理員、后臺(tái)系統(tǒng)普通員工、C 端(移動(dòng)端)用戶(hù)。
角色 | 權(quán)限操作 |
后臺(tái)系統(tǒng)管理員 | 登錄后臺(tái)管理系統(tǒng),擁有后臺(tái)系統(tǒng)中的所有操作權(quán)限 |
后臺(tái)系統(tǒng)普通員工 | 登錄后臺(tái)管理系統(tǒng),對(duì)菜品、套餐、訂單等進(jìn)行管理 (不包含員工管理) |
C 端用戶(hù) | 登錄移動(dòng)端應(yīng)用,可以瀏覽菜品、添加購(gòu)物車(chē)、設(shè)置地址、在線(xiàn)下單等 |
項(xiàng)目相關(guān)技術(shù):java、spring boot、idea、vue、mybatis-plus、Redis、mysql、maven、git、Junit