Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/LeBraveLittleToaster/KnowYourFood
https://github.com/LeBraveLittleToaster/KnowYourFood
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/LeBraveLittleToaster/KnowYourFood
- Owner: LeBraveLittleToaster
- Created: 2021-06-20T10:47:53.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-07-01T16:02:41.000Z (over 3 years ago)
- Last Synced: 2024-06-07T08:32:12.270Z (6 months ago)
- Language: Dart
- Size: 1.34 MB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-appwrite - KnowYourFood
README
# KnowYourFood - build with flutter and appwrite
The app is a prototype for a restaurant food statement app.
A user can provide their preference regarding some predefined topics and compare them to the food he/she ordered. A preference can be e.g.: Is it important that the food is from regional farmers (<50km)? (low/mid/high).
To make that process easy, he/she can scan a QR code, that can be generated by the app (and printed on a menu) by the restaurant.
This QR code wraps the foods database ID, which then is requested by the app. The user receives a overview about their preference compared to the restaurants rating. Additionally he can read the, from the restaurant provided, statements.In the folder "Showroom", you can find some screenshots from the app.
## Showroom
Screenshots | Screenshots
:--:|:---:
Login page | Setting Preferences
![Login page](https://github.com/LeBraveLittleToaster/KnowYourFood/blob/main/Showroom/Login.jpg) | ![Setting Preferences](https://github.com/LeBraveLittleToaster/KnowYourFood/blob/main/Showroom/Choose_Preference_Openend.jpg)
Creating food and rate it | List of your food
![Creating food and rate it](https://github.com/LeBraveLittleToaster/KnowYourFood/blob/main/Showroom/Create_Food_With_Ratings.jpg) | ![List of your food](https://github.com/LeBraveLittleToaster/KnowYourFood/blob/main/Showroom/List_Of_Your_Food.jpg)
QR code generator | QR code scanner
![QR code generator](https://github.com/LeBraveLittleToaster/KnowYourFood/blob/main/Showroom/On_Test_Food_Clicked.jpg) | ![QR code scanner](https://github.com/LeBraveLittleToaster/KnowYourFood/blob/main/Showroom/QR_Code_Scanning.jpg)## Database Settings
Unfortunatly I have no server running, but you can setup your instance with these collections and changing the IP in the MainApp part :)
These database settings are used in the appwrite instance to run it. Neither functions nor webhooks were used that should be set up.
> Food Collection
```jsonc
{
"$id": "60cf26aa68cd7",
"$permissions": {
"read": [
"*"
],
"write": [
"*"
]
},
"name": "Food",
"dateCreated": 1624188586,
"dateUpdated": 1624547082,
"rules": [
{
"$id": "60cf26ec930a2",
"$collection": "rules",
"type": "text",
"key": "foodId",
"label": "Food UUID",
"default": "",
"array": false,
"required": true,
"list": []
},
{
"$id": "60cf26ec98598",
"$collection": "rules",
"type": "text",
"key": "name",
"label": "Food Name",
"default": "",
"array": false,
"required": true,
"list": []
},
{
"$id": "60cf26ec9d7f7",
"$collection": "rules",
"type": "wildcard",
"key": "prefs",
"label": "Preference Statements",
"default": "",
"array": true,
"required": true,
"list": []
},
{
"$id": "60cf3b2b86a40",
"$collection": "rules",
"type": "text",
"key": "description",
"label": "Description",
"default": "",
"array": false,
"required": true,
"list": []
},
{
"$id": "60cf3b2b8c7dc",
"$collection": "rules",
"type": "text",
"key": "brandName",
"label": "Brand Name",
"default": "",
"array": false,
"required": true,
"list": []
}
]
}
```
> Preference Collection
```jsonc
{
"$id": "60cf38bba8397",
"$permissions": {
"read": [
"*"
],
"write": []
},
"name": "Preferences",
"dateCreated": 1624193211,
"dateUpdated": 1624202772,
"rules": [
{
"$id": "60cf38e66b53d",
"$collection": "rules",
"type": "text",
"key": "name",
"label": "Name",
"default": "",
"array": false,
"required": true,
"list": []
},
{
"$id": "60cf38e67138d",
"$collection": "rules",
"type": "text",
"key": "prefId",
"label": "pref UUID",
"default": "",
"array": false,
"required": true,
"list": []
},
{
"$id": "60cf38e677352",
"$collection": "rules",
"type": "text",
"key": "description",
"label": "Description",
"default": "",
"array": false,
"required": true,
"list": []
},
{
"$id": "60cf5e14b3f0a",
"$collection": "rules",
"type": "text",
"key": "category",
"label": "Category",
"default": "",
"array": false,
"required": true,
"list": []
}
]
}
```> PreferenceRating Collection
```jsonc
{
"$id": "60cf383f29bac",
"$permissions": {
"read": [
"*"
],
"write": [
"*"
]
},
"name": "PreferenceRatings",
"dateCreated": 1624193087,
"dateUpdated": 1624279822,
"rules": [
{
"$id": "60cf388035da5",
"$collection": "rules",
"type": "text",
"key": "prefId",
"label": "Pref UUID",
"default": "",
"array": false,
"required": true,
"list": []
},
{
"$id": "60cf38803c7cf",
"$collection": "rules",
"type": "text",
"key": "userId",
"label": "user UUID",
"default": "",
"array": false,
"required": true,
"list": []
},
{
"$id": "60cf388041baf",
"$collection": "rules",
"type": "numeric",
"key": "rating",
"label": "Rating",
"default": 0,
"array": false,
"required": true,
"list": []
}
]
}
```