DEV Community

Aditya Pandey
Aditya Pandey

Posted on

Cloud Resume Challenge -AWS

I recently completed the Cloud Resume Challenge — a project designed to help beginners like me learn cloud technology by building and hosting a resume on the web. At first, cloud computing felt a bit overwhelming, but this challenge turned out to be a rewarding experience. Here’s a look at my journey, the tools I used, and the steps I followed.

What’s the Cloud Resume Challenge?

The Cloud Resume Challenge is a hands-on project where you create an online resume using cloud technology. It guides you step-by-step through setting up a basic website, automating updates, and even adding some cool features like a visitor counter. The project is a great introduction to cloud skills and is structured in a way that’s accessible for beginners. Here’s how I tackled it.

1 | Designing the Resume with React, Tailwind, and Vite

For the front end, I chose React for its component-based structure, which made it easy to build and maintain sections of my resume. I used Tailwind CSS for styling, which let me add custom styles quickly with utility classes. Tailwind made it easy to create a clean and professional look without writing a lot of CSS. Finally, I used Vite as my build tool. Vite made the development process fast and smooth, with instant updates to my design as I worked.

Image description

2 | Hosting with S3 and CloudFront

For hosting, I combined Amazon S3 and CloudFront. S3 served as my primary storage location, where I uploaded all my resume files, making it accessible as a static website. However, instead of only relying on S3 for website access, I added CloudFront as a CDN (Content Delivery Network) on top of S3.

Image description

3 | Automating Updates with GitHub Actions [CICD]

To keep my resume up-to-date effortlessly, I set up a CI/CD pipeline using GitHub Actions. This meant that every time I updated my resume code in GitHub, GitHub Actions would automatically redeploy the changes to S3, and CloudFront would refresh the content for all users. I no longer had to manually upload changes, making the update process efficient and hands-free.

Image description

4 | Adding a Visitor Counter with DynamoDB, API Gateway, and Lambda

To make my resume a bit interactive, I added a visitor counter that tracks views on my site. I used DynamoDB as a database to store the visitor count and set up a Lambda function to update the count each time someone accessed the page. API Gateway connected everything, allowing the counter to interact with DynamoDB and update in real-time. Now, visitors can see a live counter that tracks how many people have visited my resume—a fun addition to the site!

Image description

5 | Using Terraform for IaC

For this project, I used Infrastructure as Code (IaC) with Terraform to set up and manage my cloud resources. Terraform allowed me to define my entire infrastructure in code, automating the creation and configuration of AWS resources like S3 for storage and CloudFront as a CDN.

Image description

6 | Architecture of the Cloud Resume

Image description

Conclusion

The Cloud Resume Challenge was a great learning experience, helping me build a modern resume while exploring cloud technology. It’s a perfect project for anyone interested in learning the basics of cloud hosting, deployment, and automation. If you’re curious about cloud computing or just want to build a more dynamic resume, I highly recommend trying this challenge—it’s a great way to learn by doing!

Check out the full code for my Cloud Resume Challenge in my repository.

Top comments (0)