Skip to content

Grocery list webapp developed in Flask and hosted on GCP with Firebase integration for authentication and data storage on Datastore

Notifications You must be signed in to change notification settings

eoinlarkin/glist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

glist

A very simple grocery list tracker

Overview

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.

Features

  • Full Create, Read, Update, Delete functionality
  • Dynamic ordering by importance and completed status
  • Batch delete ability
  • User activity indicator
  • Responsive layout

Demo

Database Hierarchy

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.

list_item

Composed of three fields as follows:

  • item_name
    Used to track the name of the item on the grocery list
  • done
    Used to record if an item is done; can take a value of either 0 or 1
  • important
    Used to record if an item is important; can take a value of either 0 or 1

visit

Used to record visits by user to the site.

  • timestamp
    Records the visit timestamp

Technologies

Deployment

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.

Locally:

  1. Create an isolated Python enviromnet
    python3 -m venv env
    source env/bin/activate
    
  2. Install app dependencies
    pip3 install -r requirements.txt
    
  3. Run the application
    python3 main.py
    
  4. Navigate to the application in your browser:
    http://localhost:8080
    

Google Cloud Platform

  1. Run the deployment command as follows:

    gcloud app deploy
    
  2. View the cloud service:

    gcloud app browse
    

About

Grocery list webapp developed in Flask and hosted on GCP with Firebase integration for authentication and data storage on Datastore

Resources

Stars

Watchers

Forks