Serverless Reminder App
Introduction:
In this, we will be implementing a serverless reminder application. The Web application will load from an S3 bucket as a static website and run in browser, communicate with Lambda and Step functions via an API Gateway Endpoint. Using the application, you will be able to configure reminders to be send using email.
Services covered:
Step-1: Configure Simple Email Service (SES)
We need two emails for this. One for the web app to send the email from and another for the reminder from the app to be sent to (user).
Create one more identity with which you want to receive the reminder.
Step-2: Add a email Lambda function to use SES to send emails for the serverless application
In this stage, we need to create a Lambda function which will be used by the serverless application to create an email and then send it using SES. Before that we need to create an IAM role which Lambda will use to interact with other AWS services.
Create a Lambda Role in CloudFormation using the yaml file. Make sure you unzip the file.
Create a Lambda function.
Step-3: Implement and configure the state machine, the core of the application
In step functions service, create a new state machine
Step-4: Implement the API Gateway, API and supporting Lambda function
In this stage you will be creating the front end API for the serverless application. The front end loads from S3, runs in your browser and communicates with this API. It uses API Gateway for the API Endpoint, and this uses Lambda to provide the backing compute. First you will create the supporting Lambda function and then the API Gateway.
Create the Lambda Function.
Recommended by LinkedIn
Create an API Gateway.
Step-5: Implement the static frontend application and test functionality.
In this stage, you will create an S3 bucket and static website hosting which will host the application front end. You will download the source files for the front end, configure them to connect to your specific API gateway and then upload them to S3. Finally, you will run some application tests to verify its functionality.
Create S3 Bucket.
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"PublicRead",
"Effect":"Allow",
"Principal": "*",
"Action":["s3:GetObject"],
"Resource":["REPLACEME_BUCKET_ARN/*"]
}
]
}
Enable Static Hosting.
Step-6: Testing.
In conclusion, the serverless reminder app project developed in AWS demonstrates the power and flexibility of serverless architecture. By leveraging AWS Lambda, API Gateway the app can be easily scaled and maintained without worrying about server infrastructure. The use of AWS services also allows for seamless integration with other AWS products and services, providing a robust and reliable platform for future expansion. Overall, the serverless reminder app project showcases the potential of serverless computing and highlights the benefits it can bring to modern software development.
I sincerely thank My faculty mentor Naresh Vurukonda and my student mentor Lokesh Mara for guiding me throughout this project and providing me with the best insights.
Great work 🤝
Good project
Good alekhya, keep it up