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