---
# System prepended metadata

title: 旅遊小幫手

---

# 旅遊小幫手
## Introduction
### 目的
本系統旨在打造一個一站式的智慧 AI 旅遊助手平台，整合旅遊相關的各項功能，從查詢景點、行程規劃、導覽導遊、互動建模、到翻譯與記錄旅程，皆可在單一平台內完成。透過 AI 技術，我們希望使用者能：
- 節省搜尋與安排的時間
- 根據個人需求獲得最佳推薦
- 在旅途中獲得即時、互動式的資訊支援
- 提升整體旅遊的效率與體驗品質

### 動機
現今市面上的旅遊應用程式雖然功能豐富，但往往分散在多個平台中，導致使用者在行前、行中與行後都需要反覆切換不同 App，不僅操作麻煩，也容易遺漏重要資訊。此外：
- 多數應用缺乏 AI 智能整合，無法針對個人偏好自動推薦與整理資訊。
- 許多使用者在行前做了大量功課，卻難以在旅途中快速回顧。
- 評論與資訊數量龐大且雜亂，使用者難以掌握重點。
- 部分功能如 AR/VR 導覽、語音翻譯、旅遊日記，仍未被主流平台完整納入。
因此，我們希望透過 AI 整合與創新互動介面，解決功能分散、資訊過載、使用效率低落等問題，提升使用者從規劃到旅行實際體驗的全流程便利性與智慧化。

## Current System
### Comparison
| 功能 | AI 旅遊助手 | chicTrip | TripAdvisor | Google Map |
|:--:|:--:|:--:|:--:| :--: |
| 地圖 | 提供室外地圖與即時資訊  | 無內建地圖<br>依賴 Google Maps | 無內建地圖<br>依賴 Google Maps |提供地圖與部分地點資訊 |
| 興趣點 |  提供詳細資訊 | 提供詳細資訊 | 提供詳細資訊  | 提供詳細資訊 |
| 評分與留言 | AI 匯總評分與推薦評論 | 支援使用者評分與留言 | 支援使用者評分與留言 | 支援使用者評分與留言 |
| AI 歸納 |  AI 整理並提供參考建議  | 不支援 | 不支援 | 不支援 |
| 建模與查看 | 建模與互動 | 不支援 | 不支援 | 部分地點適用 |
| 景點尋找 | AI 推薦旅遊景點 | 手動搜尋、無 AI 輔助 | 手動搜尋、無 AI 輔助 | 手動搜尋、無 AI 輔助 |
| 景點導覽 | AI 文字或語音導覽 | 不支援 | 不支援 | 不支援 |
| AR 導覽 | 現場獲取互動式資訊 | 不支援 | 不支援 | 部分地點適用 |
| VR 導覽 | 虛擬實境體驗 | 不支援 | 不支援 | 部分地點適用 |
| 景點規劃 | AI 自動生成最佳行程 | 手動規劃、無 AI 輔助 | 規劃推薦、無 AI 輔助 | 不支援 |
| 路線規劃 | AI 推薦安排方式 | 根據距離推薦路線 | 手動拖移、無 AI 輔助 | 不支援 |
| 旅遊日記 | 圖文記錄旅程、AI 整理 | 記錄日記、無 AI 整理 | 不支援 | 不支援 |
| 景點清單 | 收藏景點、AI 推薦行程 | 收藏清單、無 AI 推薦 | 收藏清單、無 AI 推薦 | 收藏清單、無 AI 推薦 |
| 商品清單 | 記錄想購買的商品 | 不支援 | 不支援 | 不支援 |
| 即時對話翻譯 | 多語言即時語音翻譯 | 不支援 | 不支援 | 不支援 |
| 即時掃描翻譯 | 透過相機快速掃描翻譯內容 | 不支援 | 不支援 | 不支援 |

| 優點 | AI 旅遊助手 | chicTrip | TripAdvisor | Google Map |
| :--: | :--: | :--:| :--:| :--: |
| 整合分散功能 | 一站式體驗 | 功能較為獨立 | 無明顯整合功能 | 以地圖與導航為核心 |
| AI 支援 | 各式 AI 功能 | 無 AI 支援 | 無 AI 功能 | 提供基於數據的建議 |
| 介面簡單 | 簡單易用 | 簡單易懂 | 操作需習慣 | 介面簡潔 |
| 清晰景點資訊 | AI 整理資訊 | 精選的資訊、簡潔 | 大量評論、雜亂 | 大量評論、雜亂 |
| 大量的資料 | 整個網路都是資料 | 數據量有限| 評論與評分數多 | 評論與評分數多 |
| 了解地點 | AI 生成摘要 | 完整度不一 | 提供不同觀點 | 提供不同觀點 |
| 即時室外地圖 | 提供即時資訊 | 無即時地圖 | 無即時地圖 | 地圖功能完整 |
| 精確導航 | AI 計算路線 | 依賴第三方地圖 | 無內建導航 | 導航功能完整 |
| 支援全球範圍 | 整個網路都是資料 | 針對特定旅遊市場 | 部分區域資料較少 | 全球皆可使用 |


| 缺點 | AI 旅遊助手 | chicTrip | TripAdvisor | Google Map |
| :--| :-- | :-- | :-- | :-- |
| AI 依賴性過強 | 極度仰賴 AI 判斷 | 無 AI 支援 | 無 AI 支援 | 無 AI 支援 |
| 沒有 AI 輔助 | 有 AI 功能 | 無 AI 功能 | 無 AI 功能 | 無 AI 功能 |
| 需要大量數據支持 | 需要大量的數據 | 少數使用者分享 | 許多使用者評論 | 全球使用者貢獻數據 |
| 功能不夠完整 | 完整的功能體驗 | 功能較為單一 | 功能較為單一 | 功能較為單一 |
| 評論偏向主觀 | AI 整理評論 | 評論較主觀 | 評論較主觀 | 評論較主觀 |
| 沒有導覽 | AI 導覽 | 使用者手動安排 | 無導覽功能 | 無導覽功能 |
| 沒有行程規劃 |  AI 規劃行程 | 使用者手動安排 | 無規劃功能 | 使用者手動安排 |

## Proposed system
### Overview
- 地圖服務
    - 提供即時室外地圖，顯示位置與景點資訊，支援導航功能
- 興趣點探索
    - 瀏覽景點資訊、評論與評分，支援 AI 重點整理與 3D 互動展示
- AI 導遊
    - 根據使用者興趣與位置推薦景點，並提供語音、AR、VR 導覽功能
- AI 行程規劃
    - 依據時間、偏好與交通資訊，自動生成最佳化行程與路線
- 旅遊日記
    - 使用者可圖文記錄旅程，由 AI 協助整理每日亮點
- 願望清單
    - 收藏想造訪的地點與商品，系統自動推薦相關行程
- 翻譯工具
    - 支援即時語音與掃描翻譯，協助旅途中語言溝通

### Functional Requirement
- 地圖
    - 地圖：提供室外地圖
- 興趣點
    - 介紹：提供景點、餐廳、住宿等地點的詳細資訊
    - 評分與留言：使用者可為地點評分、撰寫評論
    - AI 歸納：透過 AI 分析熱門評論、整理重點資訊與提供參考連結
    - 建模與查看：支援建模與互動，讓使用者能更直觀地瀏覽興趣點
- AI 導遊
    - 景點尋找：根據使用者興趣與位置，推薦適合的旅遊景點
    - 景點導覽：提供文字或語音導覽，提升遊覽體驗
    - AR 導覽：透過擴增實境技術，讓使用者在現場獲取互動式資訊
    - VR 導覽：支援虛擬實境體驗，讓使用者不出門也能探索世界

- AI 行程規劃
    - 景點規劃：根據旅遊時間、興趣與評價，自動生成最佳行程
    - 路線規劃：整合交通資訊，推薦最有效率的移動方式與行程順序
- 日記
    - 旅遊日記：使用者可透過圖文記錄旅程，並由 AI 幫助整理亮點
- 願望清單
    - 景點清單：收藏想造訪的景點，方便未來規劃旅行
    - 商品清單：記錄想購買的紀念品或特色商品，避免錯過當地好物
- 翻譯
    - 即時對話翻譯：支援多語言語音翻譯，幫助旅途中與當地人溝通
    - 即時掃描翻譯：透過相機拍攝，快速翻譯標誌、菜單與文件內容

### Nonfunctional Requirement
#### User Interface and Human Factors
- What type of user will be using the system?
    - 主要使用者為旅遊愛好者、自由行旅客、背包客以及各種需要行程規劃的使用者。
- Will more than one type of user be using the system?
    - 是，包含一般旅客與餐廳/景點業主等。
- What training will be required for each type of user?
    - 會有簡潔的教學，力求直觀與方便操作，同時保持美觀。
    - 根據使用者的身分，透過動畫，互動式地指引使用者操作功能。
        - 旅遊者：提供地圖、興趣點、導遊與行程規畫等功能教學。
        - 業主：上傳/更新店家資訊與後台數據等功能教學。
- Is it important that the system is easy to learn?
    - 是，要給予使用者良好的使用體驗，需確保 UI/UX 友善，讓大家都能快速上手。
- Should users be protected from making errors?
    - 是，若系統發現使用者不正確使用就有相應的應對機制。
- What input/output devices are available?
    - 手機、平板、電腦、VR 設備、AR 設備。
    - 於 Hardware Considerations 對裝置具體細節有進一步說明。
#### Documentation
- What kind of documentation is required?
    - 系統需求文件、系統設計文件、系統測試文件。
    - 使用者指南、隱私政策與服務條款。
-  What audience is to be addressed by each document?
    - 旅客(使用者指南)、業主(使用者指南)、開發者(系統類文件)。

#### Hardware Considerations
- What hardware is the proposed system to be used on?
    - 輸入裝置
        - 手機、平板：觸控螢幕。
        - 電腦：鍵盤、滑鼠。
        - VR 設備：體感控制器(搖桿、手勢)。
        - AR 眼鏡：配套控制器(搖桿、手勢)。
    - 輸出裝置
        - 電腦、平板、手機：螢幕，顯示文字、圖片、影片等內容，並提供操作介面進行互動。
        - VR：螢幕，顯示建模之場景等內容，並結合體感控制器進行互動。
        - AR：螢幕，在使用者視野中疊加數位內容，並結合配套控制器進行互動。
        - 喇叭、耳機：在導遊等功能支援語音時播放。
    - VR / AR 規格詳情
        - VR
            - HTC Vive：建議至少 2 基站追蹤器、可支援 6DoF 動作捕捉。
            - Meta Quest：內建 Inside-Out 追蹤、6DoF 控制器。
        - AR
            - Microsoft HoloLens：內建深度攝影機、空間繪製與手勢控制。
            - Magic Leap：空間定位、手勢控制器。
        - 建議確保使用者端具有足夠效能以順暢運行複雜 3D 場景或即時擴增實境。
            - Apple Vision Pro：M2 晶片
                - 8 核心 CPU 、10 核心 GPU、16 核心神經網路引擎、16GB 統一記憶體
- What are the characteristics of the target hardware, including memory size and auxiliary storage space?
    - 伺服器建議 RAM 為 128GB 以上。
    - 伺服器儲存空間需要 100TB 以上。

#### Performance Characteristics
- Are there speed, throughput, response time constraints on the system?
    - 系統在 1000 位使用者內需要1秒內回應使用者。
    - 整個系統可以乘載 10000 人以下的使用者同時使用。
    - 加強後端伺服器架構，否則依賴單一伺服器會導致負載過高。
- Are there size or capacity constraints on the data to be processed by the system?
    - 興趣點
        - 純文本的資訊不超過 100 MB
        - 圖片的資訊不超過 1 GB
        - 建模無資料量限制

#### Error Handling and Extreme Conditions
- How should the system respond to input errors?
    - 提供清楚的錯誤提示，例如語音輸入錯誤時，允許重試或手動輸入。
    - 當系統當掉時，啟用備用伺服器來應付。
    - 網路塞車，使用排隊來限制人數進入系統。
- How should the system respond to extreme conditions?
    - 無網路時：提供部分離線地圖與翻譯功能。
    - 裝置效能低：啟用低效能模式，減少動畫與即時運算負擔。
    - GPS 訊號弱：提供 AI 預測定位與使用者手動選擇位置的選項。

#### System Interfacing
- Is input coming from systems outside the proposed system?
    - 一般 API：地圖、興趣點、天氣、交通、商品、翻譯
    - AI API：LLM
- Is output going to systems outside the proposed system?
    - 一般 API：地圖、興趣點、天氣、交通、商品、翻譯
    - AI API：LLM
- Are there restrictions on the format or medium that must be used for input or output?
    - 都以 JSON 作為資料格式

#### Quality Issues
- What are the requirements for reliability?
    - 伺服器有 90% 以上的可用性，每天允許的最大停機時間不超過 30 分鐘。
    - 備用伺服器確保即使發生故障，系統仍能正常運作。
- Must the system trap faults?
    - 捕捉錯誤並提供適當的錯誤處理機制。
- What is the time for restarting the system after a failure?
    - 當系統出現故障，需在 10 分鐘內自動重新啟動，並使用備援機制確保最小的服務中斷。
- Is there an acceptable downtime per 24-hour period?
    - 每天允許的最大停機時間不超過 30 分鐘，系統會透過後備機制將停機時間降至最低。
- Is it important that the system be portable?
    - 是，系統需多種設備，具備跨平台兼容性，確保使用者能在不同裝置上獲得一致的體驗。

#### System Modifications.
- What parts of the system are likely to be modified?
    - AI 類功能、第三方API
    - 地圖、興趣點、行程規劃、日記、願望清單
- What sorts of modifications are expected?
    - UI、UX
    - 安全性
    - 資料

#### Physical Environment.
- Where will the target equipment operate?
    - 伺服器應運行於穩定的環境中，並至少配置兩台伺服器互為備援，以應對突發狀況。
    - Amazon Web Services (東京)
- Is the target equipment in one or several locations?
    - 伺服器應分布於多個地點，以降低火災、停電等意外事故的影響。
- Will the environmental conditions be ordinary?
    - 機房需維持適當的溫度與濕度，並配備空調等環境調節設備。

#### Security Issues
- Must access to data or the system be controlled?
    - 劃分使用者、業者及開發者權限。
    - 所有使用者個人資訊都要有相關文件去規範個資的產生、保管、留存及銷毀。
    - 後端商業資料應嚴格區分開發人員能取得資料的權限。
    - 保證使用者個資無法被開發人員取得。
-  Is physical security an issue?
    - 是，需要管理實體機房、工作區域的資訊安全。
    - 機房需設有多層次的物理防衛機制，如：實時監控、門禁。
    - 防止資料被物理機制破壞：火災控管、濕度控管、防震、防突波電流。

#### Resources and Management Issues
- How often will the system be backed up?
    - 系統資料必須每小時進行自動備份。
    - 分散式系統能夠將資料同時儲存在多部伺服器上。
    - 備份儲存時間
        - 短期備份：2 個月、備份所有資料。
        - 中期備份：6 個月、備份重要資料。
        - 長期備份：1 年、備份關鍵資料。
- Who will be responsible for the back up?
    - 系統本身會進行自動備份。
    - 系統管理員為主要負責人，系統管理員需檢查是否有備份到。
- Who is responsible for system installation?
    - 系統管理員。
    - 使用者。
- Who will be responsible for system maintenance?
    - 從開發團隊挑選並額外增加人員成立維運團隊。

## Scenario
- 宜臻坐在書桌前，使用平板開啟「旅遊小幫手」App。
- 她點選主畫面的「AI 行程規劃」圖示。
- 系統切換至設定頁面，她輸入：
  - 出發地：「台北」
  - 目的地：「花蓮」
  - 天數：「4天」
  - 日期：「7月5日～7月8日」
  - 偏好：「自然風景」、「歷史建築」
- 點擊「開始規劃」，系統顯示提示「為您規劃中……」。
- 幾秒後，畫面顯示四日行程，包括每個景點卡片、推薦時間與交通安排。
- 她點選第一天的「松園別館」卡片，進入詳細資訊頁面，查看：
  - 景點介紹
  - 熱門評論摘要（由 AI 歸納）
  - 圖片與實用資訊（開放時間、交通方式等）
- 點選「← 返回」，她回到行程卡片瀏覽模式。
- 她發現「花蓮文化創意產業園區」排在第一天晚上過於普通，點選右上角垃圾桶圖示。
  - 系統彈出確認：「是否刪除此行程？將重新計算路線與時間」→ 她點選「確定」
  - 景點被移除，系統即時重排路線與交通時間。
- 她覺得「七星潭」更適合第一天下午：
  - 長按「七星潭」卡片 → 拖曳至第一天下午。
  - 放手後畫面更新順序與地圖路線。
- 她想到朋友推薦的「石梯坪」：
  - 點選「新增景點」→ 輸入「石梯坪」→ 點擊加入 → 拖曳排入「第二天下午」。
  - 景點成功加入行程，系統更新路線與預估交通時間。
- 修改完成後，宜臻檢視行程頁面，確認內容無誤。
- 她點選畫面下方的「完成規劃」按鈕，回到主畫面。

![image](https://hackmd.io/_uploads/BkQCjDi-gg.png)
![image](https://hackmd.io/_uploads/HyYc0Po-gl.png)
![image](https://hackmd.io/_uploads/rkEdpPiWxg.png)
![image](https://hackmd.io/_uploads/ryuNkOi-el.png)
![image](https://hackmd.io/_uploads/ByNNWdj-gl.png)
![image](https://hackmd.io/_uploads/B1QdZui-xe.png)
![image](https://hackmd.io/_uploads/Sk8Mfuj-eg.png)
![image](https://hackmd.io/_uploads/SyZa7dsWex.png)

## Use case models
- Use case
    - Planning and Landmark Navigation（行程規劃）

- Participating Actors
    - 使用者（如旅遊規劃者、學生、觀光客）
    - AI 規劃模組

- Entry Condition
    - 使用者已開啟 App。

- Flow of Events
    - 使用者點選「AI 行程規劃」。
    - 使用者可以輸入出發地、目的地、日期、天數與偏好類型。
    - 使用者確認資料後，點選「開始規劃」。
    - 系統生成行程卡片，包含景點卡片、交通建議與時間安排。
    - 使用者可以檢視、編輯、新增或刪除景點。
    - 使用者完成行程編輯後，點選「完成規劃」，行程儲存。
    - 返回主頁面。

- Exit Condition
    - 行程成功儲存。

- Exceptions
    - 網路中斷，無法下載或更新行程／景點資訊。
    - 景點資料庫缺少地標或無法推薦。

- Nonfunctional Requirements
    - 使用介面直覺與快速反應：介面須具備高直覺性，操作反應時間短。
    - 多語系支援：支援中英文操作介面，語音導覽須支援在地語言與離線使用。
    - 高效能行程規劃：行程規劃作業須於 5 秒內完成。
    - 資訊計算準確性：行程與路線計算、景點資訊與交通時間需具備高準確度。

## Class identification from use case models
### Data dictionary
#### 名詞
| Example              | Part of speech | UML model component               | 型態    | 說明                                           |
|----------------------|----------------|-----------------------------------|---------|------------------------------------------------|
| 使用者               | 名詞           |  `User`                      | class   | 使用本系統進行旅遊規劃的使用對象                                |
| 旅遊介面                | 名詞           |  `TravelView`     | class   | 使用者進行操作與互動的主要畫面              |
| 系統                 | 名詞           |  `TravelAssistantSystem`     | class   | 執行行程規劃與景點管理的核心邏輯系統               |
| 行程                 | 名詞           |  `Itinerary`                 | class   | 包含多日景點與時間安排的完整旅遊規劃                 |
| 行程卡片             | 名詞           |  `ItineraryCard`             | class   | 	在介面中顯示單一景點的資訊卡片                  |
| 景點                 | 名詞           |  `Attraction`                | class   | 使用者將造訪的觀光位置                               |
| 公共景點                 | 名詞           |  `PublicAttraction`                | class   | 從外部來源擷取的開放式景點資料                               |
| 私人景點                 | 名詞           |  `PrivateAttraction`                | class   | 使用者自訂的景點資料                               |
| 景點安排                 | 名詞           |  `AttractionSchedule `                | class   | 指定景點於特定日與時間造訪的配置與交通建議                              |

#### 形容詞
| Example              | Part of speech | UML model component               | 型態       | 說明                                               |
|----------------------|----------------|-----------------------------------|------------|----------------------------------------------------|
| 行程標題           | 形容詞         | `Itinerary.title`                 | String   | 行程的名稱或主題標示   |
| 出發地               | 形容詞         | `Itinerary.startLocation`         | String     | 行程的起點                                         |
| 目的地               | 形容詞         | `Itinerary.destination`           | String     | 行程的終點                                         |
| 日期區間             | 形容詞         | `Itinerary.dateRange`             | DateTime  | 行程的開始與結束時間範圍                                     |
| 天數                 | 形容詞         | `Itinerary.days`                  | DateTime    | 行程所涵蓋的天數總計                                       |
| 行程偏好           | 形容詞         | `Itinerary.preference`                 | String   | 使用者偏好的旅遊類型或活動偏好   |
| 景點標題                 | 形容詞         | `Attraction.title`             | String       | 景點的標題                                           |
| 圖片                 | 形容詞         | `Attraction.image`             | Blob       | 景點的配圖                                           |
| 景點介紹             | 形容詞         | `Attraction.description`          | String     | 景點的官方簡介                                     |
| 熱門評論摘要         | 形容詞         | `Attraction.reviewSummary`        | String     | 系統彙整的熱門評論精華                                 |
| 景點實用資訊         | 形容詞         | `Attraction.practicalInfo`        | String     | 景點相關的實用參訪資訊                         |
| 資料來源         | 形容詞         | `PublicAttraction.source`        | String     | 景點資訊的來源                         |
| 建立者編號         | 形容詞         | `PrivateAttraction.createdBy`        | String     | 哪個使用者建立的景點                         |
| 景點順序             | 形容詞         | `AttractionSchedule.attractionOrder`       | Integer    | 景點在每日中的順序                                 |
| 推薦時間             | 形容詞         | `AttractionSchedule.displayTime`       | DateTime  | 建議參訪該景點的理想時間點                                     |
| 交通建議             | 形容詞         | `AttractionSchedule.transportationInfo`| String     | 各景點之間的移動方式與交通耗時建議                          |

#### 動詞
| Example              | Part of speech | UML model component                   | 型態     | 說明                                                     |
|----------------------|----------------|---------------------------------------|----------|----------------------------------------------------------|
| 顯示行程設定             | 動詞           | `TravelView.displayItinerarySetting()` | void    | 在畫面上呈現行程相關設定選項                     |
| 開始行程規劃         | 動詞           | `TravelView.planItinerary()` | Itinerary | 根據輸入自動產生初始行程                                |
| 顯示行程             | 動詞           | `TravelView.displayItinerary()` | void    | 呈現目前已建立的行程與細節資訊                      |
| 檢視景點         | 動詞           | `TravelView.searchAttraction()`| Attraction   |    尋找所選景點的詳細                     |
| 顯示景點詳情         | 動詞           | `TravelView.displayAttractionInfo()`| void    | 顯示所選景點的詳細資訊                        |
| 新增景點卡片         | 動詞           | `TravelView.addAttraction()`| Itinerary   | 新增景點卡片                    |
| 刪除景點卡片         | 動詞           | `TravelView.deleteAttraction()`| Itinerary   | 刪除景點卡片                    |
| 拖曳景點卡片         | 動詞           | `TravelView.moveAttraction()`| Itinerary   | 	重新排序景點卡片以調整參訪順序                    |
| 更新行程卡片         | 動詞           | `TravelView.displayUpdateItinerary()`| void   | 更新 UI 上對應景點卡片的顯示內容                        |
| 完成行程規劃         | 動詞           | `TravelView.saveItinerary()`| Boolean   | 儲存行程規劃                   |
| 返回主畫面        | 動詞           | `TravelView.returnToMainPage()`| void   | 返回主畫面                  |
| 新增行程             | 動詞           | `TravelAssistantSystem.createItinerary()` | Itinerary     | 新增行程                                     |
| 檢視景點         | 動詞           | `TravelAssistantSystem.searchAttraction()`| Attraction   |    尋找所選景點的詳細資訊                     |
| 新增景點         | 動詞           | `TravelAssistantSystem.addAttraction()`| Itinerary   | 新增景點                        |
| 刪除景點         | 動詞           | `TravelAssistantSystem.deleteAttraction()`| Itinerary   | 刪除景點                        |
| 編輯景點安排         | 動詞           | `TravelAssistantSystem.changeAttractionSchedule()`| Itinerary   | 調整景點在行程中的時間與順序安排                   |
| 儲存行程             | 動詞           | `TravelAssistantSystem.saveItinerary()` | Boolean     | 將目前行程內容保存                                       |

### 類別圖關聯性

![image](https://hackmd.io/_uploads/BkVgkJKlgg.png)

## Sequence diagram

![圖片](https://hackmd.io/_uploads/r1q0HqKxlg.png)

## Activity diagram

![image](https://hackmd.io/_uploads/r1bN1yKexg.png)

## StateChart Diagram

![image](https://hackmd.io/_uploads/HkUfvwKbee.png)


## Navigation Path

![image](https://hackmd.io/_uploads/r12QWpdWel.png)