Week of October 28th

This week focuses on testing, deployment, and optimization of the e-commerce web application developed over the past two weeks. The emphasis is on implementing comprehensive testing strategies, deploying the full-stack application to AWS, and setting up continuous integration and deployment pipelines.

Workshops

Plural Sight?

  • XXXXX

Topics

  • Writing and organizing unit tests, integration tests, and end-to-end tests

  • Mocking external dependencies in tests

  • Understanding and configuring different deployment environments (development, staging, production)

  • Infrastructure as Code concepts and implementation with AWS CDK

  • AWS resource provisioning and configuration (EC2, S3, security groups)

  • Environment variable management across different deployment stages

  • Continuous Integration and Continuous Deployment (CI/CD) pipelines

  • Optimizing applications for production deployment

  • AWS permissions and security best practices

Project

  • Develop a comprehensive testing strategy for the e-commerce application

  • Implement tests using Cypress, Postman, and Node's testing library

  • Create a deployment plan for AWS infrastructure

  • Deploy the backend to an AWS EC2 instance

  • Host static frontend files on an AWS S3 bucket

  • Set up and configure necessary AWS resources (e.g., security groups, IAM roles)

  • Implement Infrastructure as Code using AWS CDK

  • Configure environment variables for different deployment stages

  • Document the setup, deployment process, and usage instructions

Stretch Goals

  • Set up a GitHub Actions CI/CD pipeline for automatic deployment on push to main

  • Implement staging environments in addition to development and production

  • Optimize application performance for production environment

Additional Skills

  • Code organization and modularization for testability

  • Advanced TypeScript usage in testing and deployment scripts

  • Understanding of cloud architecture and best practices

  • Debugging deployment issues in cloud environments

  • Writing clear and comprehensive technical documentation

This week brings together all aspects of the software development lifecycle, from testing to deployment, providing a holistic view of bringing a web application to production. It emphasizes the importance of thorough testing, secure and scalable deployment practices, and the use of modern DevOps tools and techniques.

Last updated