What is AWS?
Amazon Web Service (AWS) is a cloud provider with a web interface where we can create resources and deploy our applications. AWS is the world’s most comprehensive and broadly adopted cloud platform, offering over 200 fully-featured services from data centers globally.
As of September 2021, AWS has 81 availability zones and 24 geographical regions making it highly available and a predominant cloud services provider all over the world.
Why AWS?
The demand for cloud services is increasing exponentially. Moreover, the pandemic has portrayed itself as a key factor behind the exponential rise of these cloud empires. The three big brands running at the front are Amazon, Microsoft, and Google. Which one is the best? Which will be highly available? There is not exactly one answer to all these questions.
From a helicopter view, all cloud providers are good. Almost all providers have the required services but with some differences. See the comparison table below:
As we saw almost all providers have the required services but if we go with the statistics, Amazon dominates more than one-third of the existing cloud market. This is almost twice its next closest competitor, Microsoft Azure.
Along with points like high availability, security and consistency mentioned all over the internet about AWS, the most important point that we find valuable is that it is easy to use and has very good documentation.
By using services available in AWS, we can create some of the best projects, improve our skills, and help the community. We have jotted down some of the intermediate and advanced breakthrough ideas - we’ll cover the best AWS projects for beginners in some other article - that can be implemented using AWS.
So, let’s start with the AWS projects for practice:
Best AWS Projects With Source Code
1. Create Attendance Automation
USE CASE: Rohit is studying in college, and he has been given the assignment to create a project on AWS. Rohit searches all over the internet. Finally, he decides to create attendance automation using AWS.
APPROACH:
- First, a website will be created where students can log in with their roll numbers. For authentication, AWS Cognito can be integrated with the web app. The detailed process to integrate this is referenced in the section below.
- Further, Amazon virtual cloud server (LightSail) will be used to host the website. It provides a free static IP address. Choose an OS from the set of options available and develop the websites using the MEAN stack.
- After successful login, on the dashboard, the user will be able to open the device camera and scan the Identity card. To read the image and data on the identity card, the Amazon Rekognition service will be used. This service is highly scalable and has a deep learning algorithm to analyze the image provided to it.
- Amazon Rekognition can store information about detected faces in server-side containers known as collections. But first, we must manually add faces in that collection in one of the AWS regions in our account.
- When the card is scanned, the details of students will be saved in DynamoDB.
More AWS project ideas using the same approach:
- Workplace Safety
Amazon Rekognition can be used to detect if a person is wearing a facemask or not in an environment where it is mandatory.
- Block Inappropriate Content
Using Amazon Rekognition, we can flag inappropriate content streaming in any window and create our own custom rules based on what is appropriate for any age group.
- Search Images
Amazon Rekognition can be used to find and label objects, faces, and locations in the images. Labelling items inside images further helps to search or categorize those images easily.
References :
- https://aws.amazon.com/rekognition/?blog-cards.sort-by=item.additionalFields.createdDate&blog-cards.sort-order=desc
- https://medium.com/swlh/authentication-authorization-for-web-apps-using-aws-cognito-21548bb3b86
GitHub demo:
- https://github.com/aws-samples/amazon-rekognition-custom-labels-demo
- https://github.com/aws-samples/amazon-rekognition-ppe
2. Create a Society Management Suite
USE CASE: RWA President of a prestigious society is facing a lot of issues in dealing with the daily chores of the society. A telegram group is created for every resident to put in their problems, but the President is finding it tough to handle all messages in the group. He wants to create a portal where every resident can post their problems.
APPROACH: A JIRA-like issue tracking software for society can be created with the help of AWS. The following approach will be used in creating the portal:
- A single-page website will be created in React with the support of Amazon Amplify.
- Amplify provides numerous features for web and mobile applications, such as login authentication for residents, push notifications to inform them about the resolution of their issues, and conversational chatbots.
- The push notifications are integrated with Amplify Analytics module to be able to track notifications.
- A form will be created on the website where residents can put up their name, flat number, and their issue(s).
- Residents’ posts will be saved in DataStore with Amplify. DataStore saves all the posts from residents and interacts with data in real-time.
More AWS project ideas using the same approach:
- Real-time Collaboration
Using Amazon Amplify, we can build a chat room like Yahoo Chat Room where users can see real-time feeds, have chats and share documents.
- Voiceovers
We can integrate voice interactions using Amazon Amplify . This can further engage with translations for delivering a better user experience.
- Targeted Audience
Targeted push notifications to engage customers can be made using Amplify. Like a notification of a bumper sale can be sent out to those who were looking out for the same.
References:
- https://aws.amazon.com/websites/
- https://docs.amplify.aws/
- https://docs.amplify.aws/lib/datastore/getting-started/q/platform/js/
- https://adrianhall.github.io/cloud/2019/01/31/which-aws-service-for-hosting/
GitHub demo:
3. Create an Online Store
USE CASE: Harsha loves baking. She takes requests/orders from WhatsApp and bakes cakes for her customers. She finds handling all the requests, payments, and notifications a tedious task and starts losing concentration in her work. Thus, she wants an e-commerce-like platform that can help her in her daily tasks.
APPROACH: The following approach will be used to help Harsha create her e-commerce platform:
- AWS offers an e-commerce platform to all small and large businesses. These platforms are secured highly scalable and low-cost solutions.
- To achieve this, we need to use the AWS Marketplace service. As per the definition by Amazon, AWS Marketplace is a curated digital catalogue that makes it easy for organizations to discover, procure, entitle, provision, and govern third-party software.
- After visiting AWS Marketplace, one must search e-commerce in the search menu and a list of free, open-source, and fully customizable e-commerce stores will be presented. The URL of one of the search results is provided in the reference section (d).
- The website traffic can fluctuate based on holidays, discounts, or any celebrations. AWS will help the e-commerce website grow (scale-up) and shrink (scale down) on-demand with the help of the Auto Scaling service.
- Amazon CloudFront will be used to deliver the website to the customers without any delay. All the requests are routed to the nearest edge locations.
More AWS projects using the same approach:
- Auction Website
As the pandemic has taken a toll on the world, a physical gathering may not be possible. Events like auctions can be converted to a real-time website where different organizations and individuals can come together to have an auction on any item up for sale.
- B2C Websites
B2C websites can also be purchased under AWS Marketplace, which can bring sellers and buyers under one roof.
References:
- https://aws.amazon.com/campaigns/smart-business/e-commerce/
- https://aws.amazon.com/marketplace/pp/prodview-6vq37prq3244e?sr=0-1&ref_=beagle&applicationId=AWSMPContessa
GitHub demo:
- https://github.com/aws-samples/aws-marketplace-serverless-saas-integration
- https://github.com/aws-samples/aws-marketplace-api-samples
4. Create a Traffic Monitoring Tool
USE CASE: A city in India is facing a lot of issues in managing traffic. Emergency services - ambulances and police vehicles - are not able to reach accident sites on time. The magistrate of the district approached a tech giant with the vision of creating the city smarter and seeking some solution to the nuisance of traffic.
APPROACH: The tech company started working with the following approach:
- Cameras will be installed. Amazon IoT Core service will be used to connect cameras to applications without the need to manage the servers.
-
A connection protocol will be chosen among the available options. It supports:
- MQTT (Message Queuing and Telemetry Transport),
- HTTPS (Hypertext Transfer Protocol - Secure),
- MQTT over WSS (WebSockets Secure), and
- LoRaWAN (Low-power Long-range Wide-area Network).
- Amazon Kinesis service will be used to collect, monitor, and analyze real-time traffic videos.
- This service processes data as it arrives and immediately responds instead of waiting for complete data to arrive.
- Following is its way of working:
References:
GitHub demo:
- https://github.com/aws-samples/amazon-kinesis-video-streams-demos
- https://github.com/awslabs/aws-streaming-data-solution-for-amazon-kinesis-and-amazon-msk/blob/main/source/kinesis/kda-flink-demo/README.md
5. Create Customer Feedback Solution
USE CASE: A lighting domain company has a lot of devices all over the world. The company is generating great revenues unless one day they find some negative feedback about their devices on an online store. The company immediately decided to collect all the feedback about their products from all online stores and resolve customer problems.
APPROACH: The company started working with the following approach:
- One e-commerce website at a time. The company selected one website where most of their products are listed and scrapped it with the help of python .
- The data procured after scraping is collected, organized, and categorized.
- Amazon SageMaker is used to prepare, build, train, and deploy high-quality machine learning (ML) models to read the feedback.
- The feedback collections scraped from e-commerce websites are provided to highly trained models.
- The AI models provided output based on various custom categories like good or bad feedback or something to work upon.
More AWS example projects using the same approach:
- Tax problems
Companies like Intuit created AI models to help resolve complex tax and financial models using Amazon SageMaker.
- Matchmaking
If you’re reading this article with your spouse/partner whom you have found on Tinder, then be grateful to Amazon because: “ Amazon SageMaker simplifies machine learning, helping our development teams to build models for predictions that create new connections that otherwise might have never been possible. ” --Elie Seidman, Chief Executive Officer – Tinder
References:
- https://aws.amazon.com/sagemaker/
- https://aws.amazon.com/sagemaker/feature-store/
- https://aws.amazon.com/sagemaker/debugger/
- https://github.com/aws/amazon-sagemaker-examples
GitHub demo:
- https://github.com/aws/amazon-sagemaker-examples
- https://github.com/awslabs/amazon-sagemaker-workshop
Conclusion
Cloud computing is in great demand today. If you are willing to work on any of the cloud technologies, then keep in mind that there will be problems in implementation, but things will start to become simple as you get your hands dirty. Start with browsing online video tutorials and create assignments for yourself after each topic.
For example, if you learn EC2 today, then make sure you’re able to launch an instance on AWS and log into it using SSH through AWS CLI. These mini assignments will help you develop a better understanding of cloud architecture.
AWS has a substantial set of documentation. There are a lot of Amazon projects available on GitHub to try on too. Online communities have a bunch of experienced players to help. Start working on any of the AWS sample projects and do let us know the challenges and issues you faced in completing them.
We would love to hear about your experience. Also, do let us know which project has a lot of blockers and which project is a complete waste and cannot be implemented.
If you have any more AWS project ideas, then please do comment down below. We will compile them in our next article or maybe add them to this one.
Happy coding!
People are also reading:
Leave a Comment on this Post