Skip to main content

Setting up your machine to work on the Mazaar backend

This guide will equip you with the essential tools and steps to get your development environment ready for working on our Flutter project backend hosted on GitHub, AWS, and FireBase. We'll cover installing GO, SAM, AWS CLI, and Docker.

Prerequisites:

  • A stable internet connection 🌐
  • A Windows computer running Windows 10 or later 🖥️

Installing Prerequisites

Installing GO

GO is a programming language developed and designed at Google for web applications, cloud and networking services, and other types of software.

  1. Go to the GO website and navigate to their All releases page to see the latest GO version
  2. Download the latest Windows Installer
  3. Perform a default installation
  4. Check the installation by running the following command in a Powershell terminal
go version # Should return something like "go version go1.23.1 windows/amd64"
  1. Install the latest protobuf package by running the following command in a Powershell terminal
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest

Installing AWS CLI

The AWS Command Line Interface (CLI) allows the user to manage all the AWS services from one tool / command line.

  1. Go to the AWS CLI website
  2. Download the 64-bit Windows installer
  3. Perform a default installation
  4. Check the installation by running the following command in a Powershell terminal
aws --version # Should return something like "aws-cli/2.17.46 Python/3.11.9 Windows/10 exe/AMD64"
  1. Set up your AWS Credentials by running the following command in a Powershell terminal
aws configure

This command will ask for the following information:

  • AWS Access Key ID
  • AWS Secret Access Key
  • Default region name
  • Default output format

Here is what you will input for each of those fields:

  • AWS Access Key ID: You will need to get this from one of the founders
  • AWS Secret Access Key You will need to get this from one of the founders
  • Default region name: us-east-1
  • Default output format: json

Installing AWS SAM CLI

The AWS Serverless Application Model (SAM) provides a series of templates for defining infrastructure as Code (IaC) for serverless applications. These can deploy directly to AWS CloudFormation. The AWS SAM Command Line Interface (CLI) allows the user to better control the AWS SAM features.

  1. Go to the AWS SAM website and navigate to the CLI downloads page
  2. Follow the instructions on the site for the Windows download
  3. Check the installation by running the following command in a Powershell terminal
sam --version # Should return something like "SAM CLI, version 1.123.0"

Installing Docker

Docker is a software platform that helps with deploying and testing software more quickly by using containers to standardize packaging software.

  1. Go to the Docker website and download the Windows version of Docker Desktop (can also download from here) NOTE: Either Docker Desktop or Docker CLI will work, but it's recommended to install Docker Desktop
  2. Perform a default installation (you don't need an account)

Installing Thunder Client (VS Code)

Thunder Client is a VS Code extension that allows users to test APIs locally without needing an internet connection.

  1. Open up VS Code
  2. Go to Extensions and search for Thunder Client
  3. Install Thunder Client (it should now show up on your left sidebar as a lightning bolt)

AWS Services

  • API Gateway
    • Defines all the APIs
    • Configuration settings for APIs
      • Authorization
      • Where to send the information
    • Authorization caching (300 seconds)
  • Cloud Formation
  • DynamoDB
    • Stores databases
  • CloudWatch
    • Stores logs, alarms, and metrics
  • Lambda
    • Stores functions that occur when APIs are called