Serverless chat application running on AWS

Since I recently earned an AWS Certified Cloud Practitioner certificate and gained a high-level understanding of AWS Services, it was time for me to gain some hands-on experience with AWS. I wanted to create a serverless web application to have a better understanding of serverless services.

I have been working with traditional servers for years and have created many Apache and Nginx web servers. Since serverless was a completely new concept for me, it was initially challenging to work with. However after watching some tutorials, I finally managed to create a serverless chat application.

Along the way, I also found the opportunity to practice my web development skills. I used HTML, CSS, and JavaScript for the frontend and I realized that I have much more to learn about JavaScript.

You can try the app by clicking this link

Key Features

  • No Servers Needed: Instead of regular servers, I used AWS Lambda, which makes the app flexible and cost-effective. It can handle a lot of people chatting at once without any issues.
AWS Lambda
  • Fast Website Hosting: The chat app’s website is hosted on Amazon S3. Thanks to S3’s static website hosting feature, it’s super quick and easy to update. I also used CloudFront to optimize the caching process.
  • Amazon S3
  • AWS CloudFront
  • User Logins: People can sign up and log in to the app securely thanks to Amazon Cognito. I created a user pool with email verification required.
AWS Cognito
  • Saving Messages: All the conversations and the messages that people send are stored in Amazon DynamoDB, so you can see what you’ve said in the past and not worry about losing anything. Additionally, I used API Gateway to manage GET and POST requests.
  • Amazon DynamoDB
  • API Gateway

Overview

The user must first sign up with an email that they have access to. After setting a username and a valid password, a verification code will be sent to the user’s email. Once the user confirms their registration by entering the verification code, their account is ready to log in.

Login Page

Once you log in, you can start with creating a new conversation. After you click on the button, you can view all the users that are registered in the database.

Home Page

New Conversation

You can easily start a new conversation and send messages.

Chat

That’s it! If you’d like to try my app, please don’t hesitate to send me messages there. I’d love to hear from you! ^^