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!

Top comments (0)