Week 3 Worklog

Objectives of Week 3

  • Finalize functional requirements and non-functional requirements (NFR) for the Spendwise application.
  • Initialize infrastructure management using Terraform (S3 backend and state strategy).
  • Set up core AWS infrastructure including VPC, Security Groups, ALB, and ECR.

Tasks Completed During the Week

DayTaskStart DateEnd DateReferences
1- Analyze Spendwise requirements
  + Define expense tracking and financial analysis features
  + Identify system stability and data security requirements
23/03/202623/03/2026AWS Cloud Adoption Framework, FinOps Principles
2- Initialize Terraform
  + Configure S3 bucket as remote backend
  + Set up DynamoDB for state locking
24/03/202624/03/2026Terraform S3 Backend Guide, State Locking with DynamoDB
3- Set up Amazon VPC
  + Create Public and Private Subnets across multiple Availability Zones
  + Configure Internet Gateway for public access
25/03/202625/03/2026VPC Multi-AZ Architecture, Terraform VPC Module
4- Configure security
  + Create Security Groups for ALB, ECS, and RDS
  + Apply least privilege principle
26/03/202626/03/2026Security Group Rules, IAM Least Privilege Principle
5- Initialize compute services
  + Create repository on Amazon ECR
  + Configure basic ECS Cluster
27/03/202627/03/2026Amazon ECR User Guide, ECS Cluster Concepts
6- Set up load balancing
  + Configure Application Load Balancer (ALB)
  + Create Target Group for backend (NestJS)
28/03/202628/03/2026ALB Components, NestJS on AWS Guide
7- Infrastructure validation
  + Verify connectivity between subnets
  + Test pushing Docker images to ECR
29/03/202629/03/2026-

Weekly Achievements

  • Finalized system requirements and defined a clear 3-tier architecture on AWS.
  • Successfully established VPC infrastructure with proper Public/Private segmentation.
  • Configured Security Groups for different services following best practices.
  • Set up Amazon ECR as a container image repository.
  • Deployed Application Load Balancer as the entry point for the system.
  • Initialized Terraform for Infrastructure as Code (IaC) management.

Challenges & Lessons Learned

  • Challenge: Designing subnet structure and routing while ensuring internal traffic does not go through the Internet.
  • Solution: Follow AWS VPC best practices and clearly separate Public and Private layers.
  • Lesson Learned: Using Terraform from the beginning helps manage infrastructure efficiently and enables easy reuse across environments.

Plan for Next Week

  • Integrate authentication using Amazon Cognito.
  • Push backend Docker image to ECR and deploy on ECS Fargate.
  • Connect frontend (Amplify) with real backend API endpoints.