diff --git a/README.md b/README.md index 176cf746..8aa725c7 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ - 庫存系統幫助你紀錄現有成份庫存 - 設定顧客資訊 - 收銀機方便做每日結餘 -- 菜單等資訊 Google 表單備份 +- 訂單、菜單等資訊的匯出與備份 ## 下載 diff --git a/docs/README.md b/docs/README.md index cd558506..b6805e20 100644 --- a/docs/README.md +++ b/docs/README.md @@ -9,7 +9,7 @@ - 庫存系統幫助你紀錄現有成份庫存 - 設定顧客資訊 - 收銀機方便做每日結餘 -- 菜單等資訊 Google 表單備份 +- 訂單、菜單等資訊的匯出與備份 ## 下載 diff --git a/docs/about/structure.md b/docs/about/structure.md index 195e3a23..7cb741ef 100644 --- a/docs/about/structure.md +++ b/docs/about/structure.md @@ -12,9 +12,11 @@ Flutter 是一個框架,撰寫其框架的語言是 [Dart](https://dart.dev) ## POS 系統在 Flutter 之上的架構 -**主要架構** +這裡初入的人了解應用程式架構。 -``` +### 主要架構 + +```text . ├── assets/ - 各種圖片,未來可能會放字體 ├── lib/ - 主要邏輯 @@ -35,33 +37,29 @@ Flutter 是一個框架,撰寫其框架的語言是 [Dart](https://dart.dev) ### Components -``` +```text components/ - 各種 UI 輔助元件 ├── dialog/ - 對話框 │ ├── confirm_dialog - 確認通知 │ ├── delete_dialog - 刪除通知 -│ └── single_text_dialog - 可輸入文字的對話框 +│ ├── single_text_dialog - 可輸入文字的對話框 +│ └── slider_text_dialog - 滑動有數字屬性的對話框 ├── mixin/ - 輔助型元件 │ └── item_modal - 編輯物件(如產品、成分)用的模組 +├── models/ - 和物件有關的 UI 元件 ├── scaffold/ - 框架類元件 -│ ├── fade_in_title_scaffold - 往下滑會讓標題消失的框架 │ ├── item_list_scaffold - 目前僅有設定時會用到,未來可能會直接搬到 setting_screen -│ ├── reorderable_scaffold - 可以重新排列物件的框架 -│ └── search_dialog - 提供搜尋的框架 +│ └── reorderable_scaffold - 可以重新排列物件的框架 ├── style/ - 不會過 test 的元件 │ └── ... - 小東西,不列舉 -├── tip/ - 教學相關輔助函示 -│ ├── cache_state_manager - 用 Cache 做狀態管理 -│ └── tip_tutorial - 讓單一教學直接使用這個 Widget,不用去設定 Cache -├── bottom_sheet_actions - 下方選單工具 -├── meta_block - 多文字間隔符號 -├── search_bar - 搜尋框 -└── slidable_item_list - 可以讓子元件滑動的列表 +└── tip/ - 教學相關輔助函示 + ├── cache_state_manager - 用 Cache 做狀態管理 + └── tip_tutorial - 讓單一教學直接使用這個 Widget,不用去設定 Cache ``` ### Constants -``` +```text constants/ - 各種定死的標準,例如外觀顏色,常用圖標 ├── app_themes - 外觀顏色 ├── constant - 數字類的標準,如 padding、margin 的大小 @@ -70,9 +68,11 @@ constants/ - 各種定死的標準,例如外觀顏色,常用圖標 ### Helpers -``` +```text helpers/ - 各地方常用函示,例如 Log -├── db_transferer - 資料庫特殊格式的輸入輸出格式轉換 +├── exporter/ - 包裝匯出資料的 API +├── formater/ - 格式化資料 +├── launcher - 包裝「點擊連結會跳出瀏覽器」 ├── logger - 輸出,包括輸出到 Firebase Analytics ├── util - 雜項 └── validator - 驗證輸入的工具,例如文字必須為數字且必須大於一 @@ -80,9 +80,9 @@ helpers/ - 各地方常用函示,例如 Log ### Models -``` +```text models/ - 物件,例如產品、成份等等。會在這裡和 Services 接觸而非 UI 裡面 -├── menu/ - 菜單 +├── constumer/ - 菜單 │ ├── customer_setting_option - 顧客設定的選項 │ └── customer_setting - 顧客設定 ├── menu/ - 菜單 @@ -94,6 +94,7 @@ models/ - 物件,例如產品、成份等等。會在 │ ├── cashier_object - 收銀機的物件 │ ├── customer_object - 顧客設定的物件 │ ├── menu_object - 菜單的物件 +│ ├── order_attributeobject - 訂單屬性(上面的顧客設定) │ ├── order_object - 訂單的物件 │ └── stock_object - 庫存的物件 ├── order/ - 訂單 @@ -114,44 +115,52 @@ models/ - 物件,例如產品、成份等等。會在 │ └── replenishment - 庫存的補貨 ├── model_object - object 的基本物件 ├── model - model 的基本物件 -└── repository - repository 的基本物件 +├── repository - repository 的基本物件 +└── xfile - 包裝檔案系統的 API ``` ### Services -``` +```text services/ - 和應用程式外部溝通的工具,例如 DB +├── auth - 驗證邏輯,使用者的登入等等 ├── cache - 記錄使用者的設定和行為,例如是否看過 tutorial ├── database - 紀錄點單等多筆的資料,Sqlite ├── database_migrations - database 不同版本時整合的紀錄 +├── image_dumper - 管理 image 的存取 └── storage - 紀錄菜單和庫存等高變種的資料,NoSQL ``` ### Settings -``` -settings/ - 使用者可以調整的設定,例如主題、語言 -├── currency_setting - 幣種,目前尚無使用,僅是預先做好,未來有需要可以開 -├── language_setting - 語言 -├── order_awakening_setting - 點餐時是否關閉螢幕的設定 -├── order_outlook_setting - 點餐時的外觀設定 -├── setting - 設定的介面 -└── theme_setting - 主題,目前僅有日光和暗色 +```text +settings/ - 使用者可以調整的設定,例如主題、語言 +├── cashier_warning - 收銀機的告警設定 +├── collect_event - 收集使用者錯誤訊息設定 +├── currency - 幣種,目前尚無使用,僅是預先做好,未來有需要可以開 +├── language - 語言 +├── order_awakening - 點餐時是否關閉螢幕的設定 +├── order_outlook - 點餐時的外觀設定 +├── order_product_axis_count - 點餐時的外觀設定 +├── theme - 主題,目前僅有日光和暗色 +├── setting - 設定的介面 +└── settings_provier - 管理所有設定的介面 ``` ### UI -基本架構為 +基本的框架為: -``` +```text feature/ - 特定功能 ├── ... - 功能下的子功能,若有會列出來 -├── widgets - 功能的輔助物件,不會在下表中列出來 +├── widgets/ - 功能的輔助物件,不會在下表中列出來 └── feature_screen - 功能的架構,不會在下表中列出來 -└── feature_tutorial - 功能的教學,不會在下表中列出來 ``` -``` +各介面: + +```text ui/ - 應用程式主要外觀設計 ├── analysis/ - 分析點單 ├── cashier/ - 收銀機