Online Bookstore is a web application that allows booksellers to sign up and sell their books on the platform. As a customer you need to sign up before making a purchase on the platform. Users (Vendor/Customer) can update their profile and change their password. The application is configured to be hosted on AWS cloud platform. DNS setup along with Route 53 is configured to access the application via the domain name. The entire infrastructure is built as code using Terraform.
CI/CD pipeline is set up using CircleCI that validates the code by running unit tests and later allows the valid code to be merged with main branch. On merge, CircleCI creates code artifact and uploads the same on to S3 bucket and invokes AWS CodeDeploy to deploy the latest version of the code in tomcat server.
Built and deployed the AMI with required customization using Packer by HashiCorp. You can find more details on the AMI used for this project in this link.
Infrastructure for hosting the web application on AWS is built as code using Terraform. You can find more information regarding infrastructure in this link.
Generation of reset password link feature is configured to run as a Lambda function, to adopt microservices architecture. You can find more details about the Lambda function in this link.
- Centralized logging is implemented to collect the logs from all the EC2 instances and eliminated loss of log data when EC2 instances are brought down
- Utilized statsD to collect custom metrics like Database Access time, S3 data access time, number of API request, etc. and passed it to AWS CloudWatch Agent
- Configured CPU Utilization alarms to dynamically increase/decrease the EC2 instances based on the load using AWS Auto Scaling
- Developed unit test cases using Mockito
- Load tested the application using Apache JMeter
Category | AWS Resources, Framework & Technologies |
---|---|
Programming Languages | Java, TSQL, HCL, HTML, CSS, JS |
Web Application | Spring MVC, Hibernate, MySQL, AWS-SDK |
Infrastructure | Terraform, VPC, RDS, S3, ELB, Auto Scaling, Route53, AWS Lambda, DynamoDB |
Montoring & Logging | statsD, AWS Cloud-Watch Agent, Cloud-Watch Alarm, Log4js |
Notification | SNS, SES |
Security | BCrypt, RDS Encryption, SSL/TLS |
CI/CD Pipeline | Circle CI |
Testing Framework | Mockito, Apache JMeter |
Web Server | Apache Tomcat |