expressjs
firebase
firestore
githubrepos
microservice
serverless

Serverless GitHub Repository Fetcher Microservice

This repository implements a couple of serverless Firebase Cloud Functions using ExpressJS to fetch all of my public GitHub repository data. I use this data to power my professional blog website that is hosted on GitHub Pages.

I could have simply fetched my repository data on the client. However, for unauthenticated requests, the rate limit allows for up to 60 requests per hour. Unauthenticated requests are associated with the originating IP address, and not the person making requests.1. To stay on the safe side, I decided to create this microservice and get this data from my cloud functions.

In essence, this microservice offers three functions. alitursucularGithubRepos, alitursucularGithubRepoByName and a scheduled fetchAlitursucularGithub function that updates Firestore every two hours. I am using @octokit/rest package for fetching my public repositories from GitHub.

1 GitHub rate limiting