Winery Dashboard
This section describes the functional requirements for a dashboard for wineries to manage their token operations.
This is broken down into the following categories:
Redeem Status
Token Status
YDIYOI experiences
Provisioning Status
Redeem Status
The most urgent dashboard requirement, is to create a web-based interface enabling wineries to track token redeems. Currently, when a token holder executes a wine redeem, this action generates an entry in the vineyard db “redeem_infos” table. This table holds the following columns:
For example:
field | example | Notes |
---|---|---|
id | 01f71da1-cc3f-4213-a089-0e03a025ed2b | a unique id created for the transaction…it is not clear what this can be used for. |
created_at | 2022-11-07 22:02:33.078455+00 | The redeem time |
updated_at | 2022-11-07 22:02:33.078455+00 | The redeem update (the same as the redeem time) |
deleted_at | NULL | always NULL…not sure of the utility |
customer_id | 0x3fA1e1E7C0750B5508Be819b4C1Bc14018905c22 | the wallet address of the customer. |
year | MTB18 | the token redeemed (“Year” is a misnomer) |
street | 12345 Pine Ridge Drive | The delivery street address |
number | 123 | The street number |
country_id | 1 | The country identifier, as defined in the country_id field of the “shipping_costs” table. In this example: USA |
province_id | 25 | The province identifier, as defined in the province_id field of the “shipping_costs” table. In this example: Missouri |
zip | 02134 | the postal code |
telegram_id |
| the (optional) telegram_id of the redeemer |
amount | 12 | the amount of tokens redeemed (bottles to be shipped). |
signature | 0x512a96ab03d5dcc06d6fc70b76f74c25387828a2aac77156c02c00978b384bf031e4bf215e7d629419d1ba9eaf7f79da0911cb7435da8a81a9901f11680ce2301c | the hash of the transaction signature |
burn_tx_hash | 0xd1f9f6773f9d9866729a668d463d90e194a87e707b526a1c38a959a7d2c73029 | the hash of the token burn operation |
shipping_tx_hash | 0x212e09f5b170b4b019e82b896badafbaa567241c0d4f7340bb3546e702fb483e | the hash of the shipping payment operation. This can be used to lookup on etherscan the actual amount of ETH paid for shipping. |
winerie_id | costaflores | the winery (misspelling) for which this redeem applies. |
At first glance, a few important data fields are missing:
Customer name (necessary for shipping receipt)
Customer telephone number and/or email (for contacting during shipping)
These fields can easily be added to the database, but the redeem form needs to be updated to accommodate these questions.
At a minimum, the winery needs to be able to receive information in a timely fashion about:
What redeems have been executed, and when.
Where to ship the wines to, and to whom.
How much ETH is due to the winery from the OpenVino redeem wallet.
One simple way to quickly enable this would be to simply send an email to the winery in question, every time a redeem has executed. However, this has a few, obvious flaws:
Insecure method of sending confidential customer data (address)
Disorganized method for wineries to lookup the complete register of redeem statuses (would have to comb through redeem emails to make a tally).
Therefore, a dashboard tool should contemplate the following functions:
Enable the winery to access the database table “redeem_infos”, but ONLY for the information matching their “winerie_id”
Reveal the details of tokens redeemed. (ship to whom, where, and when the redeem was initiated)
Update the table to show token shipping information, providing the option for recording shipping dates, and whether or not the shipping was successful, canceled, returned, etc.
Could (or should?) the winery authenticate access to the DB table by proving access to a winery redeem wallet, via metamask? i.e. GitHub - giekaton/php-metamask-user-login: Web3 passwordless user login with MetaMask and PHP
This is preferable to OpenVino holding winery credentials.
Wineries should receive a notification (via telegram? email?) indicating that a new redeem entry has been created, prompted winery staff to access the table.
Finally, a privileged OpenVino admin user should be able to see the redeem info status for all wineries.
Token Status
What tokens were sold during the crowdsale?
What is the sales activity on Viniswap?
What is the composition of the liquidity pool?
What is the token turnover?
How is the match to outstanding tokens vs. wine stock?
How many tokens do we have an email address, or name for? can we match from the NFT users?
This is combined data from etherscan, and lookups to the vineyard db, sales and redeem_infos tables, and ydiyoi users.
YDIYOI Experiences
How many NFT’s are available
How many bottles have been scanned?
How many tasting registered?
How many NFT’s issued?
Provisioning Status
Token registered
crowdsale statues
liquidity pool status