I made a thing! GOT Game. I've wanted to build a "serverless" site for a while now, and this project was the perfect opportunity to give it a shot. Keep reading to find out more about how and why I put the site together.
GOT Game really only needed a small repository to store information about the show's characters and some way of keeping track of the leaderboard. Thus, I thought it would be a good candidate for "serverless" architecture.
This website is for anyone who wants to test their Game of Thrones trivia knowledge! With the GOT finale just around the corner, this project will help you remember who has managed to survive to the eighth season.
GOT Game began as a Mod4 project at Flatiron with my classmate Kwam Amissah. Shout out to Kwam for being an awesome partner and being my teammate on the previous version of this web app!
I've changed around several features on the frontend since then, and switched the backend from Rails to the serverless architecture.
Serverless Architecture - Firestore
This web app does not have a traditional back end: I didn't program a Rails API to run on a server somewhere.
Instead, data is saved on Google Firebase's Firestore server. I think the term serverless is a misnomer. My site's user data and assets have to live on a server somewhere. In that sense, Google's Firestore is similar to the Heroku platform.
Both Firestore and Heroku let you save data on a cloud server. Like traditional full-stack apps hosted on Heroku, coded the frontend/client using React.
The difference is that Firestore provides a "flexible, scalable NoSQL cloud database to store and sync data for client- and server-side development," without needing to write a Rails API.
Why Not Amazon Web Services?
I considered using AWS because AWS lets you pick between NoSQL and SQL database structures. Firestore only provides NoSQL (non-relational) databases.
For this project I didn't really need a relational database. Additionally, AWS is only free for a limited period of time while Firestore stays free forever.