Skip to content

TanZng/big-moments-gcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Big Moments

Project for the Big Moments: Developer Edition GCP Challenge | #INSIDEGoogleCloud

Big Moments is a Google Photos Clone for the INSIDE Google Cloud '21 Challenge.

Broad improvements:

  • Better UI
  • Better object detection
  • Better CI/CD in GCP
  • Custom domain

🚀 Features

Search by the number of people in the picture. ⭐

Not enough results? What about these suggestions?

🔗 link broken?

Identify objects, places, logos, animal breeds, etc.

🔗 link broken?

The puppy is using an iPad 🐶!

The typos will not stop you!

Get results based on memes.

Search by the language you desire.

Search the image by the text they contain.

🏗 Infrastructure

🏁 Roadmap

  • Create a bucket in Cloud Storage.
  • Create a trigger in Cloud Build to build the Docker image on ./app changes.
    • Save the build image on Container Registry.
  • Instance a VM with Compute Engine for the container imagen.
  • Create a repo for the photo_analysis_service function in Cloud Source Repositories.
  • Create a trigger to run Vision API tagging.
  • Create a DB in Firestore to keep the pictures url their related tags.

🎉 Extra

  • Detect more objects with Vision AI.

  • Get the number of people in a picture with Vision AI.

  • Analyze the user query with Cloud Natural Language.

    • Suggest results based on the analysis.
  • Add multilingual support with Cloud Translation.

  • Add a custom domain.

    • Add an HTTPS Load Balancing.
  • Update function from Cloud Functions.

gcloud functions deploy photo_analysis_service \
       --source=https://source.developers.google.com/projects/project-id/repos/repo-name/moveable-aliases/main/paths/function/ \
       --runtime=python39 --trigger-resource=big-moments-bucket \
       --trigger-event=google.storage.object.finalize \
       --set-env-vars BUCKET=big-moments-bucket
  • Update container images from Compute Engine VM instance.
gcloud compute instances update-container instance-name --zone us-central1-a \
       --container-image=gcr.io/project-id/repo@sha256:hash