/test2022

Primary LanguageHCL

Multi Channels Messaging system

Introduction

This is a quick implementation of AWS AppSync graphql server of a Multi Channels Message System API. The resolvers were built with dynamoDB stream. It also includes a lambda consumer function to consume the stream and send SNS email notification when new channels or messages are created. The infrastructure was spinned up through Terraform and the lambda function were setup with Typescript. The whole application is desployed and managed through github action.

System Architecture

img

Deployment Architecture

img

To Query through Postman

import this collection

Application Cost calculation

Query operation charges 5 million x $4.00 per million operations= $20.00 Data transfer charges 3 KB x 5 million = 15 million KB = 14.3 GB * $0.09 = $1.29 Total AppSync charges $20.00 + $1.29 = $21.29 appsync pricing reference

Since the monthly insert of messages and channels data are insignificant, so dynamodb cost is not actively included here.

Test

There is currently no integration testings implemented.

challenge source