> Seeds In Space - Web App

Summary

A small group of my Telstra colleagues and I volunteered for an amazing not-for-profit organisation called One Giant Leap Foundation. The foundation sent wattle seeds into space to be stored for several months, before being returned to earth for distribution across Australia. Here, they’ll be planted, measured and recorded in hundreds of schools and local organisations around the country.

The team worked together to design and develop a web application that provides organizations the capability to record, store, visualize and share seed growth data.

The web application is developed using ReactJS and Node.js, leveraging all the features of AWS Amplify, utilizing Cognito for Authentication, DynamoDB for data storage, Route53 for hosting, CodeCommit and CloudFormation for CI/CD.

GitHub: Code repository

Application: Website

Article: LinkedIn article

Architecture Overview

AWS Amplify is a set of tools and services that can be used together or on their own, to help front-end web and mobile developers build scalable full stack applications, powered by AWS. With Amplify, you can configure app backends and connect your app in minutes, deploy static web apps in a few clicks, and easily manage app content outside the AWS console.

seedsinspace-architecture.png

Services Breakdown

ServicePurpose
AmplifyInstance where the React js website will be deployed and hosted
CognitoRequired for providing basic user authentication and login
S3Storage instance which will be used for photos storage
API GatewayEnable exposure of Lambda functions over http protocols
LambdaServerless component required to access the database
DynamoDBNoSQL DB used to store the form data of the seeds
CodeCommitGIT respository
Route53Domain and DNS management
IAMIdentify and access management, security and roles
CloudFormationTemplates describing desired resources and their dependencies so we can launch and configure them together as a stack.