cococokoko / CND_ToDoApp

Experimenting with Google Cloud Run

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CND_ToDoApp

Experimenting with Google Cloud Run (Group 3: Coco Koban, Philippe Henderson, Julius Von Davier, Nicolò Prini, Nora Tombers)

Backend

  • Flask-based API microservice.

  • Endpoint: https://todoapp-backend-final-7qlre2lo3a-oa.a.run.app

  • What it does: Can write, update, delete and read all to-do items to and from a Firestore DB.

  • What data it receives: object-format (a dict) data.

  • Actions:

    • /list-all --> Returns all todo list items in the firestore DB as a list.
      • Inputs: None
      • Action: Retrieves all the documents in the Firestore DB 'AllToDo' collection.
      • Returns: A nice list of todo objects.
    • /create-todo --> Creates a todo list item, returns the ID of the created item.
      • Inputs: To-do object (dictionary), with at minimum: {'title': :your title:, 'content': :your content:}
      • Action: Creates new document in Firestore DB 'AllToDo' collection, and writes the data to the document.
      • Returns: Unique ID for the todo item.
    • /update-todo --> Update an existing todo list item.
      • Inputs: To-do object (dictionary), with at minimum: The fields you wish to change (e.g. Title, is_done, etc.) AND the current ID of the todo item.
      • Action: Retrieves the document in the Firestore collection based on its ID, and modifies the desired fields.
      • Returns: success or fail message.
    • /delete-todo --> Delete an existing todo list item.
      • Inputs: To-do item ID, in the form of {'ID': :to-do-ID:}.
      • Action: Deletes the document in Firestore that corresponds to that ID.
      • Returns: success or fail message.

Sources:

Remaining To Do:

  • Clean up backend code to handle errors better.
  • Build CI/CD pipeline
  • Verify that how we're connecting to Firestore is the right way. Need to double-check with the Qwiklabs.
  • Look into scalability parameters and all that stuff.

About

Experimenting with Google Cloud Run


Languages

Language:Python 58.7%Language:HTML 28.8%Language:Dockerfile 12.4%Language:CSS 0.2%