Skip to content

Commit

Permalink
doc: add orders export
Browse files Browse the repository at this point in the history
  • Loading branch information
evan361425 committed Aug 13, 2023
1 parent 243d72f commit 6dd4c4a
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 36 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
- 庫存系統幫助你紀錄現有成份庫存
- 設定顧客資訊
- 收銀機方便做每日結餘
- 菜單等資訊 Google 表單備份
- 訂單、菜單等資訊的匯出與備份

## 下載

Expand Down
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
- 庫存系統幫助你紀錄現有成份庫存
- 設定顧客資訊
- 收銀機方便做每日結餘
- 菜單等資訊 Google 表單備份
- 訂單、菜單等資訊的匯出與備份

## 下載

Expand Down
77 changes: 43 additions & 34 deletions docs/about/structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,11 @@ Flutter 是一個框架,撰寫其框架的語言是 [Dart](https://dart.dev)

## POS 系統在 Flutter 之上的架構

**主要架構**
這裡初入的人了解應用程式架構。

```
### 主要架構

```text
.
├── assets/ - 各種圖片,未來可能會放字體
├── lib/ - 主要邏輯
Expand All @@ -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 的大小
Expand All @@ -70,19 +68,21 @@ constants/ - 各種定死的標準,例如外觀顏色,常用圖標

### Helpers

```
```text
helpers/ - 各地方常用函示,例如 Log
├── db_transferer - 資料庫特殊格式的輸入輸出格式轉換
├── exporter/ - 包裝匯出資料的 API
├── formater/ - 格式化資料
├── launcher - 包裝「點擊連結會跳出瀏覽器」
├── logger - 輸出,包括輸出到 Firebase Analytics
├── util - 雜項
└── validator - 驗證輸入的工具,例如文字必須為數字且必須大於一
```

### Models

```
```text
models/ - 物件,例如產品、成份等等。會在這裡和 Services 接觸而非 UI 裡面
├── menu/ - 菜單
├── constumer/ - 菜單
│ ├── customer_setting_option - 顧客設定的選項
│ └── customer_setting - 顧客設定
├── menu/ - 菜單
Expand All @@ -94,6 +94,7 @@ models/ - 物件,例如產品、成份等等。會在
│ ├── cashier_object - 收銀機的物件
│ ├── customer_object - 顧客設定的物件
│ ├── menu_object - 菜單的物件
│ ├── order_attributeobject - 訂單屬性(上面的顧客設定)
│ ├── order_object - 訂單的物件
│ └── stock_object - 庫存的物件
├── order/ - 訂單
Expand All @@ -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/ - 收銀機
Expand Down

0 comments on commit 6dd4c4a

Please sign in to comment.