for your API • It was created by Facebook (meta) • It gives the client the power to ask exactly what they need • It prevents Over and Under fetching of data • GraphQL has a strongly typed schema • Developers can easily check the GraphQL documentation schema • Big companies are using it: Facebook, Twitter, Netflix, Airbnb, etc
are: • Our team members already had production experience with TypeScript and GraphQL • Our frontend team also use React and Typescript • Node.JS/Typescript is the most popular option for implementing GraphQL servers. • Node.JS/Typescript apps can be deployed anywhere.
by GCP and AWS based on our selection criteria. We reduced it to two options. • GCP Cloud Run Managed Serverless Containers https://cloud.google.com/run • AWS Elastic Beanstalk Managed Services to Deploy and Scale EC2 instances https://aws.amazon.com/elasticbeanstalk/
but we decided to go with GCP because: • GCP interface was easier to understand • Cloud run was easy to deploy and setup compared with Elastic Beanstalk. • We planned to use Firebase Auth and BigQuery. So keeping all in the same place will simplify the infra maintenance.
for each PR. • We use GitHub Action to create a DB based on the branch name. • After a branch is deleted, the DB is also destroyed. • Vercel also generates our testing environment for our Admin and Web apps