From 0c873fa5178ae13578f92b9291eb1a24349c940f Mon Sep 17 00:00:00 2001 From: Jasen Qin Date: Mon, 5 Aug 2024 01:47:34 +1000 Subject: [PATCH] autocommit 05-08-2024-01-47 --- py-kivy/API.md | 36 ++++++++++++++++++++++++++++++++++++ py-kivy/DESIGN-DOC.md | 2 ++ py-kivy/mockup-1.png | Bin 0 -> 29048 bytes 3 files changed, 38 insertions(+) create mode 100644 py-kivy/mockup-1.png diff --git a/py-kivy/API.md b/py-kivy/API.md index 69316ef..5ce3036 100644 --- a/py-kivy/API.md +++ b/py-kivy/API.md @@ -532,3 +532,39 @@ Error response body: "detail": "Error message" } ``` + +```mermaid +graph TD + A[API v1] --> B[Authentication] + A --> C[Items] + A --> D[Orders] + A --> E[Users] + + B --> B1["POST /token"] + + C --> C1["POST /items"] + C --> C2["GET /items"] + C --> C3["GET /items/:item_id"] + C --> C4["PUT /items/:item_id"] + C --> C5["DELETE /items/:item_id"] + + D --> D1["POST /orders"] + D --> D2["GET /orders"] + D --> D3["GET /orders/:order_id"] + D --> D4["PUT /orders/:order_id"] + D --> D5["DELETE /orders/:order_id"] + D --> D6["POST /orders/:order_id/process_payment"] + D --> D7["POST /orders/:order_id/apply_discount"] + + E --> E1["POST /users"] + E --> E2["GET /users/me"] + E --> E3["GET /users"] + E --> E4["PUT /users/:user_id"] + E --> E5["DELETE /users/:user_id"] + + class A main; + class B auth; + class C items; + class D orders; + class E users; +``` diff --git a/py-kivy/DESIGN-DOC.md b/py-kivy/DESIGN-DOC.md index 61b172e..dd207c0 100644 --- a/py-kivy/DESIGN-DOC.md +++ b/py-kivy/DESIGN-DOC.md @@ -82,6 +82,8 @@ The POS System is a cross-platform application built using Python, FastAPI for t ### 4.1 Layout +![A Mockup](mockup-1.png) + - Responsive design for various screen sizes - Left navigation bar (collapsible) - Main content area (grid/list views) diff --git a/py-kivy/mockup-1.png b/py-kivy/mockup-1.png new file mode 100644 index 0000000000000000000000000000000000000000..422f1ae8534dde196d2a2abe5b9d80a1f3c34abd GIT binary patch literal 29048 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 literal 0 HcmV?d00001