# Cloud Resume Challenge - Part 1: The Challenge Explained

## A Cloud Project to Advance Your Career!
The  [Cloud Resume Challenge](https://cloudresumechallenge.dev/) was created by  [Forrest Brazeal](https://forrestbrazeal.com/) as a way to as a way to advance your career, but beyond that it’s simply a fun way to level up your cloud skills.  Forrest first presented the challenge with a deadline of July 21, 2020 to complete it.  As Forrest put it, he has a large network of connections and he would be willing to help where he could via shout-outs and referrals for those who completed it.  The caveat of course was that you followed the strict Cloud Resume Challenge requirements which are as follows:

* **Certification** - Your resume needs to have at minimum the AWS Cloud Practitioner certification on it. 

* **HTML** - Your resume needs to be written in HTML. Not a Word doc, not a PDF. 

* **CSS** - Your resume needs to be styled with CSS. 

* **Static S3 Website** - Your HTML resume should be deployed online as an Amazon S3 static website. 

* **HTTPS** - The S3 website URL should use HTTPS for security. You will need to use Amazon CloudFront to help with this.

* **DNS** - Need a custom DNS domain name to the CloudFront distribution, so your resume can be accessed at something like my-c00l-resume-website.com. You can use Amazon Route53.

* **Javascript** - Your resume webpage should include a visitor counter that displays how many people have accessed the site. 

* **Database** - The visitor counter will need to retrieve and update its count in a database somewhere. I suggest you use Amazon’s DynamoDB for this. (

* **API** - Use API Gateway and Lambda to communicate directly with DynamoDB from your Javascript code. 

* **Python** - You will need to write Python code in the Lambda function; – a common language used in back-end programs and scripts – and its boto3 library for AWS. 

* **Tests** - You should also include some tests for your Python code. Here are some resources on writing good Python tests.

* **Infrastructure as Code** - Define your resources (DynamoDB table, the API Gateway, the Lambda function) using the AWS Serverless Application Model (SAM) and deploy them using the AWS SAM CLI.

* **Source Control** - Your back-end API and your front-end website should update automatically whenever you make a change to the code via CI/CD and a private GitHub.

* **CI/CD (Back end)** - Set up GitHub Actions such that when you push an update to your Serverless Application Model template or Python code, your Python tests get run. 

* **CI/CD (Front end)** - Create a second private GitHub repository for your website code. Create GitHub Actions such that when you push new website code, the S3 bucket automatically gets updated. 

* **Blog post** - Finally, write a short blog post describing some things you learned while working on this project.

<br>
## My Journey
This will be a multi-part post detailing my journey towards completing the Cloud Resume Challenge.

[My Cloud Resume Challenge URL - mindrepo.net](https://mindrepo.net/) <br>
[Cloud Resume Challenge - Part 1: The Challenge Explained](https://blog.mindrepo.net/cloud-resume-challenge-part-1-the-challenge-explained)<br>
[Cloud Resume Challenge - Part 2: S3, CloudFront, & Route53](https://blog.mindrepo.net/cloud-resume-challenge-part-2-s3-cloudfront-and-route53) <br>
[Cloud Resume Challenge - Part 3: Lambda, DynamoDB, & API Gateway](https://blog.mindrepo.net/cloud-resume-challenge-part-3-lambda-dynamodb-and-api-gateway) <br>
Cloud Resume Challenge - Part 4: SAM (Serverless Application Model

 
