Skip to content

Commit 8b7137c

Browse files
committed
readme init
1 parent 5395ade commit 8b7137c

File tree

2 files changed

+151
-90
lines changed

2 files changed

+151
-90
lines changed

README.md

Lines changed: 59 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Resume Website Deployment on AWS
22

3-
This project demonstrates how to deploy a static resume website using **AWS services**, including **Amazon S3**, **CloudFront**, **Route 53**, **AWS Lambda**, **DynamoDB** and **API Gateway** with a focus on security, performance, and automation. The deployment process is fully automated using **GitHub Actions**, ensuring seamless updates with every code push.
3+
This project demonstrates how to deploy a static resume website using **AWS services**, including **Amazon S3**, **CloudFront**, **Route 53**, **AWS Lambda**, **DynamoDB**, and **API Gateway** with a focus on security, performance, and automation. The deployment process is fully automated using **GitHub Actions**, ensuring seamless updates with every code push.
44

55
---
66

@@ -22,32 +22,36 @@ This project demonstrates how to deploy a static resume website using **AWS serv
2222
- **HTML**: For content structure.
2323
- **CSS**: For styling and layout.
2424
- **JavaScript**: For interactivity.
25-
26-
- Organized the project files into:
27-
img/icons/ # Social media icons img/ # Images for the website index.html # Main HTML file /js # JavaScript files for interactions styles.css/ # Stylesheet files
25+
- Organized the project files into:
26+
- `img/icons/`: Social media icons
27+
- `img/`: Images for the website
28+
- `index.html`: Main HTML file
29+
- `js/`: JavaScript files for interactions
30+
- `css/`: Stylesheet files
2831

2932
---
3033

3134
### 2. **Amazon S3: Hosting the Static Website**
3235

3336
- **Created an S3 bucket**:
34-
- Bucket Name: `vivek-resume-bucket`.
35-
- Enabled **Static Website Hosting** in S3.
36-
- Uploaded all website files (HTML, CSS, JS, images) to the bucket.
37+
38+
- Bucket Name: `vivek-resume-bucket`.
39+
- Enabled **Static Website Hosting** in S3.
40+
- Uploaded all website files (HTML, CSS, JS, images) to the bucket.
3741

3842
- **Configured Bucket Permissions**:
39-
- Ensured the bucket is private and accessible only via **CloudFront**.
40-
- Used **IAM policies** and **Origin Access Identity (OAI)** for secure access.
43+
- Ensured the bucket is private and accessible only via **CloudFront**.
44+
- Used **IAM policies** and **Origin Access Identity (OAI)** for secure access.
4145

4246
---
4347

4448
### 3. **AWS CloudFront: Securing and Accelerating Content Delivery**
4549

4650
- **Created a CloudFront Distribution**:
47-
- Configured the S3 bucket as the origin.
48-
- Set up **Alternate Domain Names (CNAMEs)** for `viveksati.online` and `www.viveksati.online`.
49-
- Used **AWS Certificate Manager (ACM)** to issue an SSL certificate for HTTPS.
50-
- Configured **Caching** to improve performance and reduce load on the S3 bucket.
51+
- Configured the S3 bucket as the origin.
52+
- Set up **Alternate Domain Names (CNAMEs)** for `viveksati.online` and `www.viveksati.online`.
53+
- Used **AWS Certificate Manager (ACM)** to issue an SSL certificate for HTTPS.
54+
- Configured **Caching** to improve performance and reduce load on the S3 bucket.
5155

5256
---
5357

@@ -61,9 +65,9 @@ This project demonstrates how to deploy a static resume website using **AWS serv
6165
### 5. **Amazon Route 53: Domain Configuration**
6266

6367
- **Created a Hosted Zone**:
64-
- Added DNS records to Route 53:
6568

66-
- **A (Alias) Record**: Pointed `resume.viveksati.online` to the CloudFront distribution.
69+
- Added DNS records to Route 53:
70+
- **A (Alias) Record**: Pointed `resume.viveksati.online` to the CloudFront distribution.
6771

6872
- Validated DNS propagation and verified the domain's accessibility.
6973

@@ -72,12 +76,15 @@ This project demonstrates how to deploy a static resume website using **AWS serv
7276
### 6. **GitHub Actions: Automating Deployment**
7377

7478
- **Set up a GitHub Repository**:
75-
- Added all website files (`index.html`, `styles.css`, `script.js`, etc.).
79+
80+
- Added all website files (`index.html`, `styles.css`, `script.js`, etc.).
7681

7782
- **Configured a Workflow**:
78-
- Created `.github/workflows/deploy.yml` to automate the following tasks:
79-
1. Sync updated files to the S3 bucket.
80-
2. Invalidate CloudFront cache for immediate updates.
83+
84+
- Created `.github/workflows/deploy.yml` to automate the following tasks:
85+
1. Sync updated files to the S3 bucket.
86+
2. Invalidate CloudFront cache for immediate updates.
87+
8188
- Sample GitHub Actions Workflow:
8289

8390
```yaml
@@ -115,31 +122,50 @@ This project demonstrates how to deploy a static resume website using **AWS serv
115122
### 7. **Testing and Validation**
116123
117124
- **Tested the website**:
118-
- Accessed the website via `https://viveksati.online`.
119-
- Verified global availability and HTTPS functionality.
125+
126+
- Accessed the website via `https://viveksati.online`.
127+
- Verified global availability and HTTPS functionality.
120128

121129
- **Validated Automation**:
122-
- Pushed updates to the GitHub repository and confirmed automatic deployment via GitHub Actions.
130+
- Pushed updates to the GitHub repository and confirmed automatic deployment via GitHub Actions.
131+
132+
---
133+
134+
### 8. **Visitor Count Tracking**
135+
136+
- **Set up AWS Lambda**:
137+
138+
- Created a Lambda function to handle visitor count logic.
139+
- Configured the function to be triggered by API Gateway.
140+
141+
- **Configured DynamoDB**:
142+
143+
- Created a DynamoDB table to store visitor count data.
144+
- Defined the necessary read/write permissions for the Lambda function.
145+
146+
- **API Gateway Integration**:
147+
- Set up an API Gateway to expose an endpoint for the Lambda function.
148+
- Configured the endpoint to trigger the Lambda function and update the visitor count.
123149

124150
---
125151

126152
## Tools and Technologies
127153

128154
- **AWS Services**:
129-
- S3: Static file hosting.
130-
- CloudFront: Content delivery network (CDN).
131-
- Route 53: DNS management.
132-
- Lambda :
133-
- API Gateway :
134-
- DynamoDB :
135-
- ACM: SSL/TLS certificate.
155+
- S3: Static file hosting.
156+
- CloudFront: Content delivery network (CDN).
157+
- Route 53: DNS management.
158+
- Lambda: Serverless compute service.
159+
- API Gateway: API management.
160+
- DynamoDB: NoSQL database.
161+
- ACM: SSL/TLS certificate.
136162
- **CI/CD**:
137-
- GitHub Actions for automated deployment.
163+
- GitHub Actions for automated deployment.
138164
- **Web Development**:
139-
- HTML, CSS, JavaScript.
165+
- HTML, CSS, JavaScript.
140166
- **Security**:
141-
- IAM roles and policies.
142-
- GitHub Secrets for AWS credential management.
167+
- IAM roles and policies.
168+
- GitHub Secrets for AWS credential management.
143169

144170
---
145171

0 commit comments

Comments
 (0)