A very simple grocery list tracker
A grocery list tracker webapp built using Flask and hosted on Google Cloud Platform. Firebase integration is used for the management of user authentication; data storage is managed using Google Datastore.
- Full Create, Read, Update, Delete functionality
- Dynamic ordering by importance and completed status
- Batch delete ability
- User activity indicator
- Responsive layout
Google Datastore is used for the storage of data. Data is stored in two distinct entity tables; visit and list_item. Both of these entities are stored under a parent key corresponding to the user's email address. Email address are stored in a further partent key of User.
Composed of three fields as follows:
item_name
Used to track the name of the item on the grocery listdone
Used to record if an item is done; can take a value of either0or1important
Used to record if an item is important; can take a value of either0or1
Used to record visits by user to the site.
timestamp
Records the visit timestamp
Prior to deployment it is necessary install and initialise the Google Cloud CLI.
The app instance can be created using the gcloud app create command.
- Create an isolated Python enviromnet
python3 -m venv env source env/bin/activate - Install app dependencies
pip3 install -r requirements.txt - Run the application
python3 main.py - Navigate to the application in your browser:
http://localhost:8080
-
Run the deployment command as follows:
gcloud app deploy -
View the cloud service:
gcloud app browse
