69 lines
2.1 KiB
Markdown
69 lines
2.1 KiB
Markdown
BASIC ONLINE SALES SYSTEM - BACKEND
|
|
|
|
|
|
|
|
\# Admin Panel
|
|
|
|
\- All pages to be authenticated
|
|
|
|
\- Use local SQLite database … would redis be any use for performance?
|
|
|
|
Views / Data structures:
|
|
|
|
\- Categories > Category Editor (CRUD)
|
|
|
|
\- Products List > Product Editor (CRUD)
|
|
|
|
- Product data is to be:
|
|
|
|
- Id (Guid)
|
|
|
|
- Name (string)
|
|
|
|
- Description (long text + Unicode/emoji support)
|
|
|
|
- ProductWeightUnit (Unit, Micrograms, Grams, Ounces, Pounds, Millilitres, Litres)
|
|
|
|
- Product Weight (double? value in relation to Product Weight Unit value)
|
|
|
|
- Photos (a sub list of multiple images associated with the product)
|
|
|
|
- BasePrice (currently we will assume GBP is the base currency)
|
|
|
|
\- Users List > User Editor \*(CRUD)
|
|
|
|
- Username / Password only. No email. This is a staff user list only for accessing this system. Create a default (admin/admin) user.
|
|
|
|
\- Orders List … see order-workflow below.
|
|
|
|
\- Accounting … this area will contain these sections:
|
|
|
|
- Dashboard … financial overveiew based on the Pending Orders and Payments Received etc.
|
|
|
|
- Unpaid Order (aka pending)
|
|
|
|
- Payments Received (lists recent first payments detected to crypto wallets relating to active order)
|
|
|
|
- Completed … view recent transactions list, a ledger I guess based on all transactions in the system.
|
|
|
|
|
|
|
|
\#order-workflow:
|
|
|
|
1\. Purchase received via API
|
|
|
|
2\. Order create + await payment
|
|
|
|
3\. Payment detected > Order gets marked for processing by say the "Picking \& Packing Team".
|
|
|
|
4\. The pickers prepare the order, hit the "ITS BEEN PICKED OR WHATEVER" button which then registers the job on royal mail, spits out a label for them to stick on the package and updates the customer with the tracking number.
|
|
|
|
|
|
|
|
\# WEB API
|
|
|
|
- This should allow a client application to retrieve a list of products, retrieve a list of only orders relating the end clients identity-reference (string), create a new order, retrieve own orders (by identity-reference), retrieve own order details (including the per order crypto payment instructions \& wallet address), cancel order and get help with order
|
|
|
|
|
|
|