iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0
Mobile Development

Spring Boot+Android 30天 實戰開發 系列 第 25

【Day - 25】建立餐廳點餐應用01:專案概述和架構設計

  • 分享至 

  • xImage
  •  

專案概述
我們將建立一個簡易的餐廳後台點餐應用,將結合此系列前面教學中的知識點。

  • 專案部分頁面展示:
    圖片無法顯示

    圖片無法顯示

1. 專案目標

我們的餐廳後台點餐應用將具備以下主要功能:

  • 營業分析
    • 可查詢某天的營業分析。
    • 顯示當天總營業額。
    • 顯示每一個時段的訂單數量、銷售額、累積銷售額。
    • 顯示最熱銷的前5名餐點。
  • 餐點管理
    • 提供餐點編輯器,可修改價格、名稱、分類等。
    • 提供餐點分類。
    • 提供基本餐點的新增、修改、查詢、刪除功能。
  • 新增訂單
    • 為員工提供手動輸入餐點的頁面。
    • 記錄顧客選擇的餐點和數量、總金額等。
  • 訂單管理
    • 用於查看歷史訂單資料。
    • 根據訂單編號可查看該訂單的詳細內容和明細。

這些功能將使餐廳更容易管理每日業務、提供優質的服務以及了解最暢銷的菜品。

2. 技術堆疊

我們將使用以下技術來構建餐廳後台點餐應用:

  • Spring Boot:作為我們的後端框架,提供快速開發和簡化配置。
  • Thymeleaf:用於構建前端界面和呈現數據。
  • PostgreSQL:作為我們的數據庫管理系統,存儲所有相關數據。
  • Docker Compose:用於容器化我們的應用程序和數據庫,實現簡單的部署。
  • Gitlab/CICD:實現持續集成和持續交付,以確保項目的穩定性和可靠性。

3. 資料需求

  • 單點(Dish):包括單點編號(dNo)、單點名稱(dName)、單點敘述(dDesc)、價錢(dPrice)、類別(dType)。其中單點編號和單點名稱均為唯一。
  • 套餐(Set):包括套餐編號(sNo)、套餐名稱(sName)、套餐敘述(sDesc)、價錢(sPrice)。其中套餐編號和套餐名稱均為唯一。顧名思義,套餐就是由數個單點所組成,組成的單點數量必須記載。
  • 餐桌(Table):包括餐桌編號(tId)、容納人數(capacity)和位置(location)。其中餐桌編號為唯一。
  • 訂單(Order):包括訂單編號(oId)、日期時間(oDateTime)、總金額(totalPrice)、付款狀態(payStatus)。
  • 訂單明細(OrderDetails) - 記錄每一筆訂單中所點的餐點、數量、小計。
  • 顧客(Customer):包括顧客編號(cId)、姓名(cName)、電話(cPhone)。其中顧客編號和電話為唯一。

3.1 ERD

圖片無法顯示

! 實際練習將簡化ERD圖以便更專注於Spring Boot等知識點的實作。

在這系列尾聲的這幾天中,我們將從專案的概念開始,進行架構設計,並逐步實現每個功能。無論您是初學者還是有經驗的開發人員,這個系列都將幫助您建立一個實用的餐廳後台點餐應用,並學習有關Spring Boot、前端開發和數據庫管理的寶貴知識。

在下一篇文章中,我們將開始設定開發環境與專案初始化,為實作做好準備。讓我們開始這個令人興奮的項目吧!


上一篇
【Day - 24】Spring Security 6.1.x JWT身份驗證 (下):透過Redis實作登出功能
下一篇
【Day - 26】建立餐廳後台點餐應用02:開發環境與專案初始化
系列文
Spring Boot+Android 30天 實戰開發 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言