<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Lucky Singh Chauhan</title>
    <description>The latest articles on DEV Community by Lucky Singh Chauhan (@luckysingh_).</description>
    <link>https://dev.to/luckysingh_</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2399369%2Fcd0da1f2-d5c5-4d81-8636-b1a38460c1a2.jpeg</url>
      <title>DEV Community: Lucky Singh Chauhan</title>
      <link>https://dev.to/luckysingh_</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/luckysingh_"/>
    <language>en</language>
    <item>
      <title>Master AWS by Building a Scalable Car Rental Web App</title>
      <dc:creator>Lucky Singh Chauhan</dc:creator>
      <pubDate>Sat, 23 Nov 2024 07:20:27 +0000</pubDate>
      <link>https://dev.to/luckysingh_/easy-ride-building-a-car-rental-web-app-using-aws-cloud-services-i9p</link>
      <guid>https://dev.to/luckysingh_/easy-ride-building-a-car-rental-web-app-using-aws-cloud-services-i9p</guid>
      <description>&lt;p&gt;Tired of reading about AWS services without actually using them? Let’s change that! In this project, you’ll master AWS by building EasyRide, a scalable car rental web app. From user authentication to booking logic, this project will teach you how to handle real-world challenges using Amplify, Cognito, Lambda, and more.&lt;/p&gt;

&lt;p&gt;By the end, you’ll have a slick project and the cloud skills to back it up—because who wants to stop at theory? Let’s turn your AWS skills into something cool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Overview
&lt;/h2&gt;

&lt;p&gt;This project was inspired by Tiny Technical Tutorials aka Amber Israelsen ma'am,  I customized it to enhance my skills. With Easy Ride, users can browse, book, and ride cars seamlessly.&lt;br&gt;
you can check her YouTube tutorial here - [&lt;a href="https://www.youtube.com/watch?v=K6v6t5z6AsU&amp;amp;t=4s" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=K6v6t5z6AsU&amp;amp;t=4s&lt;/a&gt;]&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS Services Used + Git hub
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Amplify&lt;/strong&gt;: Hosting static files (HTML, CSS, JS).&lt;br&gt;
&lt;strong&gt;Cognito&lt;/strong&gt;: User authentication and management.&lt;br&gt;
&lt;strong&gt;API Gateway&lt;/strong&gt;: Interface for frontend-backend communication.&lt;br&gt;
&lt;strong&gt;Lambda&lt;/strong&gt;: Booking and business logic.&lt;br&gt;
&lt;strong&gt;DynamoDB&lt;/strong&gt;: NoSQL database for ride data storage.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgdewfnbkrcyc96atv6x7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgdewfnbkrcyc96atv6x7.png" alt="Aws services" width="593" height="252"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Let's Build this
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Step 1: Hosting with AWS Amplify
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Go to the AWS Management Console and search for Amplify.&lt;/li&gt;
&lt;li&gt;Connect your GitHub repository to Amplify.&lt;/li&gt;
&lt;li&gt;Deploy your app and ensure the frontend is live.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8hh6ukdf3mpxlc5glqe6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8hh6ukdf3mpxlc5glqe6.png" alt="Image description" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Add User Authentication
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Navigate to Amazon Cognito and create a new User Pool (e.g., EasyRideUserPool).&lt;/li&gt;
&lt;li&gt;Copy the User Pool ID and App Client ID, and update these values in your app’s config.js.&lt;/li&gt;
&lt;li&gt;Test the authentication flow by signing up and signing in on the live app.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F82gesqvd6fo57ce9d8d4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F82gesqvd6fo57ce9d8d4.png" alt="Image description" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Ride Data Storage with DynamoDB
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Go to DynamoDB and create a table named Rides.&lt;/li&gt;
&lt;li&gt;Set the partition key as RideId (String data type).&lt;/li&gt;
&lt;li&gt;Copy the Table ARN for use in permissions.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5zramupaiimeqw244fiq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5zramupaiimeqw244fiq.png" alt="Image description" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Backend Logic with AWS Lambda
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Create a Lambda function with the runtime Node.js 16.x.&lt;/li&gt;
&lt;li&gt;Attach an IAM role with DynamoDBWriteAccess to enable data storage.&lt;/li&gt;
&lt;li&gt;Write the booking logic in index.js, and ensure the table name matches your DynamoDB setup.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fri0hiipdfxr8sjt8weyt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fri0hiipdfxr8sjt8weyt.png" alt="Image description" width="800" height="165"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmsr2a6lu1iwj1ljmc903.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmsr2a6lu1iwj1ljmc903.png" alt="Image description" width="800" height="390"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: API Gateway Integration
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Create an API in Amazon API Gateway.&lt;/li&gt;
&lt;li&gt;Add a POST method linked to your Lambda function for booking rides.&lt;/li&gt;
&lt;li&gt;Configure Cognito as the authorizer for secure access.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff5wcne5f10gklw3p1b17.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff5wcne5f10gklw3p1b17.png" alt="Image description" width="800" height="576"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8otyd2xvclzdquy3amt5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8otyd2xvclzdquy3amt5.png" alt="Image description" width="800" height="361"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F279usg1ma4zqv1mht76j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F279usg1ma4zqv1mht76j.png" alt="Image description" width="800" height="359"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: Test and Deploy
&lt;/h2&gt;

&lt;p&gt;-Test the entire flow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sign up, sign in, and make bookings.&lt;/li&gt;
&lt;li&gt;Verify ride data is saved in DynamoDB.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8tzx46nadxcijv7f293a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8tzx46nadxcijv7f293a.png" alt="Image description" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 7: Clean Up
&lt;/h2&gt;

&lt;p&gt;To avoid unnecessary costs, delete unused resources like:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Cognito User Pool.&lt;/li&gt;
&lt;li&gt;DynamoDB table.&lt;/li&gt;
&lt;li&gt;Lambda functions and API Gateway resources.&lt;/li&gt;
&lt;li&gt;Amplify app deployment.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Conclusion&lt;br&gt;
Congratulations! You’ve successfully built a car rental web app using AWS services. This project covers the full stack—from hosting with Amplify to backend logic with Lambda and secure data storage with DynamoDB.&lt;/p&gt;

&lt;p&gt;If you encounter any issues or want to share your experience, feel free to comment or connect with me on LinkedIn. [&lt;a href="https://www.linkedin.com/in/lucky-singh-87329b255/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/lucky-singh-87329b255/&lt;/a&gt;]&lt;/p&gt;

</description>
      <category>aws</category>
      <category>webdev</category>
      <category>cloudcomputing</category>
      <category>serverless</category>
    </item>
  </channel>
</rss>
