Greetings Time

illustrations illustrations illustrations illustrations illustrations illustrations illustrations
Greetings Time

Date

Mar 15, 2021

Client

Self

Categories

Web development, serverless, a w s

Project Link

https://www.greetings-time.com (Online)

Why?

There was no way to easily send greetings to friends and family via Alexa, there was no way to play a suprise greeting to that someone special on Alexa

Project Description (What?)

Greetings Time is a mobile app that allows you to send greetings to your friends and family’s Alexa enabled devices, it works with a companion Alexa skill also called Greetings Time

How?

AWS Architecture

Image alt

Explanation

The frontend is a static website that was developed using HTML5, CSS and Javascript as the base along with Bootstrap and hosted on AWS S3 and served, The backend was developed using serverless technologies like API Gateway, AWS SQS, AWS Lambda, AWS Dynamo DB, AWS S3, AWS Cognito, AWS Polly, AWS SES, AWS SNS

The user creates an account after downloading the GreetingsTime mobile App from the app store or play store, then they add a contacts by sending a request to connect to the intended person’s email address from the app. If the person has an account already they receive a connection request notification or else they receive a account creation notification. The person can either Accept or Reject a connect request notification.

Once the connect request is accepted the user can send Birthday, Anniversary greetings to their contacts. They can Instant Send greetings or Schedule Send them by scheduling upto a year in advance. The greetings once delivered are auto deleted after 48 hours after they are played by the recipient.

The process of sending a greeting involves a form, the form submit triggers a POST request to an API gateway endpoint that saves the greeting to an Ingest Instant Message SQS Queue or Ingest Scheduled Message SQS Queue. The dispatcher lambda functions read the respective queues and create records in Dynamo DB greetings table with the metadata on how to handle the greeting. For instant messages the dispatcher lambda puts them on a email queue and a notification queue, the downstream lambdas use SNS and Alexa Notifications API to send notifications with the metadata, the lambda also creates a greeting reference in the recipients incoming greetings table. Once the recipient gets the notication they can go to the GreetingsTime Alexa App to play the greetings by saying: Alexa, Ask greetings time to play my greetings or more specific Alexa, Ask greetings time to play my greetings from Mom, etc.

Greetings can be created in different languages and accents and emojis can be sent so that the recipient can better understand the greeting, custom songs can be played along with the greeting, greetings can also be scheduled using the scheduler interface by selecting a date and time of delivery.

Android App Link: https://play.google.com/store/apps/details?id=works.nit.greetings_time

Image alt Image alt Image alt Image alt Image alt Image alt Image alt Image alt