DEV Community

instanceofGod
instanceofGod

Posted on

Cloud Resume API Challenge with GCP

The job search can be a competitive landscape, and having a standout resume is crucial. But what if your resume could be even more dynamic and accessible? Enter the Cloud Resume API Challenge, a fantastic opportunity to showcase your technical skills and create a modern, API-driven resume.

The primary goal of the challenge is to construct a serverless API that can serve resume data in JSON format. In order to achieve the goal of the project i utilised google cloud resources, particularly Google Cloud Functions and Cloud Firestore, along with GitHub Actions for continuous delivery and continuous deployment (CI/CD).

Not only did I gain valuable insights into the world of resume APIs, but I also honed my skills in several key areas which I decided to share with you here:

1. Cloud Functions

I delved into the world of cloud functions, a serverless execution environment that allows you to run code without managing servers. This was a great way to create a lightweight and scalable backend for my API.

2. Cloud Firestore

Cloud Firestore, a NoSQL database, served as the perfect storage solution for my resume data. Its flexible schema and ease of use made it a breeze to manage my information.

3. Google APIs
Working with Google APIs provided a powerful way to interact with my Cloud Firestore data and expose it through the API.
Building the Cloud Function with Node.js

For the challenge, I opted to use Node.js with JavaScript as my development environment. Here's a sample code snippet showcasing a basic Cloud Function that retrieves resume data from Firestore:


const { Firestore } = require('@google-cloud/firestore')
const functions = require('@google-cloud/functions-framework')
const dotenv = require('dotenv')
dotenv.config()

functions.http('resume', (req, res) => {
  const firestore = new Firestore({
    projectId: process.env.PROJECT_ID
  })
  const document = firestore.collection('resume').doc('kZXU70VsRQ2OuDBAjE')
  document
    .get()
    .then((data) => res.send(data.data()))
    .catch((err) => {
      console.log(err)
    })
})

Enter fullscreen mode Exit fullscreen mode

This function retrieves data from a collection named "resume" in Firestore.

4. CI/CD with GitHub Actions
I implemented a CI/CD pipeline using GitHub Actions to ensured automated deployment to cloud function whenever I pushed changes to my code.

Beyond the Basics

The Cloud Resume API Challenge offers a springboard for further exploration. Here are some ways to take your project to the next level:

Authentication and Authorization: Implement mechanisms to control access to your resume data using authentication and authorization techniques.
Versioning: Integrate versioning to track changes to your resume data over time.
Additional Data Points: Include additional data points like portfolio links or project details to make your resume more interactive.
A Rewarding Journey

Participating in the Cloud Resume API Challenge was a rewarding journey. It allowed me to showcase my technical skills, build a modern resume format, and gain valuable experience with cloud technologies. If you're looking for a way to stand out from the crowd and level up your technical expertise, I highly recommend giving this challenge a try!

AWS GenAI LIVE image

Real challenges. Real solutions. Real talk.

From technical discussions to philosophical debates, AWS and AWS Partners examine the impact and evolution of gen AI.

Learn more

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay