黑馬程序員最新Java項(xiàng)目實(shí)戰(zhàn)《蒼穹外賣》,最適合新手的SpringBoot+SSM的企業(yè)級(jí)Java項(xiàng)目實(shí)戰(zhàn)。
項(xiàng)目簡(jiǎn)介
《蒼穹外賣》項(xiàng)目的定位是一款為餐飲企業(yè)(餐廳、飯店)定制的軟件產(chǎn)品。該項(xiàng)目是一個(gè)在線外賣訂購(gòu)系統(tǒng),顧客可以通過網(wǎng)站或者手機(jī) App 訂購(gòu)餐點(diǎn)。該項(xiàng)目可以提供以下的功能:
- 用戶可以注冊(cè)和登錄賬號(hào),瀏覽餐廳列表,選擇菜單,并下單和支付;
- 餐廳可以注冊(cè)賬號(hào)并進(jìn)行菜單管理,接收和處理訂單;
- 后臺(tái)管理員可以管理餐廳和用戶賬號(hào)信息,處理訂單和投訴,生成銷售報(bào)表等。
蒼穹外賣項(xiàng)目需要具備以下的技術(shù)要求:
- 網(wǎng)站和手機(jī) App 的設(shè)計(jì)和開發(fā);
- 數(shù)據(jù)庫(kù)管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn);
- 支付系統(tǒng)的接入和開發(fā);
- 與第三方配送公司的對(duì)接和管理;
- 安全性和隱私保護(hù)的考慮,如防止 SQL 注入、XSS 攻擊和數(shù)據(jù)泄露。
蒼穹外賣項(xiàng)目的優(yōu)點(diǎn)是方便快捷、節(jié)省時(shí)間,滿足了人們?nèi)粘S貌偷男枨?;缺點(diǎn)是可能存在繁瑣的細(xì)節(jié)和服務(wù)質(zhì)量的不確定性。
項(xiàng)目架構(gòu)
項(xiàng)目的整體架構(gòu)分為前端和后端,開發(fā)模式為前后端分離開發(fā)模式:
Web 管理端(外賣商家使用)界面:
小程序用戶端(用戶點(diǎn)餐)界面:
功能模塊
項(xiàng)目中的業(yè)務(wù)功能??蓜澐譃楣芾矶撕陀脩舳藘纱竽K,模塊內(nèi)業(yè)務(wù)功能細(xì)分如下:
1). 管理端
餐飲企業(yè)內(nèi)部員工使用。 主要功能有:
模塊 | 描述 |
---|---|
登錄/退出 | 內(nèi)部員工必須登錄后,才可以訪問系統(tǒng)管理后臺(tái) |
員工管理 | 管理員可以在系統(tǒng)后臺(tái)對(duì)員工信息進(jìn)行管理,包含查詢、新增、編輯、禁用等功能 |
分類管理 | 主要對(duì)當(dāng)前餐廳經(jīng)營(yíng)的 菜品分類 或 套餐分類 進(jìn)行管理維護(hù), 包含查詢、新增、修改、刪除等功能 |
菜品管理 | 主要維護(hù)各個(gè)分類下的菜品信息,包含查詢、新增、修改、刪除、啟售、停售等功能 |
套餐管理 | 主要維護(hù)當(dāng)前餐廳中的套餐信息,包含查詢、新增、修改、刪除、啟售、停售等功能 |
訂單管理 | 主要維護(hù)用戶在移動(dòng)端下的訂單信息,包含查詢、取消、派送、完成,以及訂單報(bào)表下載等功能 |
數(shù)據(jù)統(tǒng)計(jì) | 主要完成對(duì)餐廳的各類數(shù)據(jù)統(tǒng)計(jì),如營(yíng)業(yè)額、用戶數(shù)量、訂單等 |
2). 用戶端
移動(dòng)端應(yīng)用主要提供給消費(fèi)者使用。主要功能有:
模塊 | 描述 |
---|---|
登錄/退出 | 用戶需要通過微信授權(quán)后登錄使用小程序進(jìn)行點(diǎn)餐 |
點(diǎn)餐-菜單 | 在點(diǎn)餐界面需要展示出菜品分類/套餐分類, 并根據(jù)當(dāng)前選擇的分類加載其中的菜品信息,供用戶查詢選擇 |
點(diǎn)餐-購(gòu)物車 | 用戶選中的菜品就會(huì)加入用戶的購(gòu)物車,主要包含 查詢購(gòu)物車、加入購(gòu)物車、刪除購(gòu)物車、清空購(gòu)物車等功能 |
訂單支付 | 用戶選完菜品/套餐后,可以對(duì)購(gòu)物車菜品進(jìn)行結(jié)算支付,這時(shí)就需要進(jìn)行訂單的支付 |
個(gè)人信息 | 在個(gè)人中心頁面中會(huì)展示當(dāng)前用戶的基本信息,用戶可以管理收貨地址,也可以查詢歷史訂單數(shù)據(jù) |
技術(shù)選型
關(guān)于本項(xiàng)目的技術(shù)選型, 我們將會(huì)從 用戶層、網(wǎng)關(guān)層、應(yīng)用層、數(shù)據(jù)層 這幾個(gè)方面進(jìn)行介紹,主要用于展示項(xiàng)目中使用到的技術(shù)框架和中間件等。項(xiàng)目中使用到的技術(shù)框架和中間件如下:
-
用戶層
本項(xiàng)目中在構(gòu)建系統(tǒng)管理后臺(tái)的前端頁面,我們會(huì)用到H5、Vue.js、ElementUI、apache echarts(展示圖表)等技術(shù)。而在構(gòu)建移動(dòng)端應(yīng)用時(shí),我們會(huì)使用到微信小程序。
-
網(wǎng)關(guān)層
Nginx是一個(gè)服務(wù)器,主要用來作為Http服務(wù)器,部署靜態(tài)資源,訪問性能高。在Nginx中還有兩個(gè)比較重要的作用: 反向代理和負(fù)載均衡, 在進(jìn)行項(xiàng)目部署時(shí),要實(shí)現(xiàn)Tomcat的負(fù)載均衡,就可以通過Nginx來實(shí)現(xiàn)。
-
應(yīng)用層
SpringBoot: 快速構(gòu)建Spring項(xiàng)目, 采用 “約定優(yōu)于配置” 的思想, 簡(jiǎn)化Spring項(xiàng)目的配置開發(fā)。
SpringMVC:SpringMVC是spring框架的一個(gè)模塊,springmvc和spring無需通過中間整合層進(jìn)行整合,可以無縫集成。
Spring Task: 由Spring提供的定時(shí)任務(wù)框架。
httpclient: 主要實(shí)現(xiàn)了對(duì)http請(qǐng)求的發(fā)送。
Spring Cache: 由Spring提供的數(shù)據(jù)緩存框架
JWT: 用于對(duì)應(yīng)用程序上的用戶進(jìn)行身份驗(yàn)證的標(biāo)記。
阿里云OSS: 對(duì)象存儲(chǔ)服務(wù),在項(xiàng)目中主要存儲(chǔ)文件,如圖片等。
Swagger: 可以自動(dòng)的幫助開發(fā)人員生成接口文檔,并對(duì)接口進(jìn)行測(cè)試。
POI: 封裝了對(duì)Excel表格的常用操作。
WebSocket: 一種通信網(wǎng)絡(luò)協(xié)議,使客戶端和服務(wù)器之間的數(shù)據(jù)交換更加簡(jiǎn)單,用于項(xiàng)目的來單、催單功能實(shí)現(xiàn)。
-
數(shù)據(jù)層
MySQL: 關(guān)系型數(shù)據(jù)庫(kù), 本項(xiàng)目的核心業(yè)務(wù)數(shù)據(jù)都會(huì)采用MySQL進(jìn)行存儲(chǔ)。
Redis: 基于key-value格式存儲(chǔ)的內(nèi)存數(shù)據(jù)庫(kù), 訪問速度快, 經(jīng)常使用它做緩存。
Mybatis: 本項(xiàng)目持久層將會(huì)使用Mybatis開發(fā)。
pagehelper: 分頁插件。
spring data redis: 簡(jiǎn)化java代碼操作Redis的API。
-
工具
git: 版本控制工具, 在團(tuán)隊(duì)協(xié)作中, 使用該工具對(duì)項(xiàng)目中的代碼進(jìn)行管理。
maven: 項(xiàng)目構(gòu)建工具。
junit:?jiǎn)卧獪y(cè)試工具,開發(fā)人員功能實(shí)現(xiàn)完畢后,需要通過junit對(duì)功能進(jìn)行單元測(cè)試。文章來源:http://www.zghlxwxcb.cn/news/detail-526478.html
postman: 接口測(cè)工具,模擬用戶發(fā)起的各類HTTP請(qǐng)求,獲取對(duì)應(yīng)的響應(yīng)結(jié)果。文章來源地址http://www.zghlxwxcb.cn/news/detail-526478.html
到了這里,關(guān)于最適合新手的SpringBoot+SSM項(xiàng)目《蒼穹外賣》實(shí)戰(zhàn)—(二)項(xiàng)目概述的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!