Web Development 401

Getting ready for production
## About Web Development 401 - Getting ready for production is the fourth course in the set of 4 Industry-led courses built by Pupilfirst to skill students in the area of web development: - Web Development 101 - Getting Started with JavaScript - Web Development 201 - Server-side programming with Node.js - Web Development 301 - Front-end development with React and TypeScript - Web Development 401 - Getting ready for production ## Course objective The objective of WD401 is to allow the student to learn more about production-ready deployments. This can be achieved either via the WD401 course material or through an internship at a company. To complete WD401 by following Pupilfirst's course material, students will need to deploy an application of their choice that integrates learnings from earlier courses, and also work through the material of the course, integrating the new production-readiness concepts that are presented here. The second option is for the student to gain an internship at a company where they get to work on an application that tests a similar skill-set. ## Prerequisites Students should have completed Web Development 301, before beginning this course. ## Course outcomes By the end of the course, the students will be able to: - Be able to bundle a codebase with non-trivial JS dependencies and code. - Know how to differentiate between popular JS flavours and pick one that is suitable for a task. - Understand why testing is important, what TDD is, and be able to write both unit and integration tests for Rails applications that use JS in the front-end. - Be able to set up a CI/CD pipeline for a server-side application, ensuring the code reaches production automatically after tests pass. - Know how to organise & communicate development work using pull requests. - Be aware of container-based deployments, be able to build a Docker image for their web application and then deploy that image to a web server. - Know how to set up a web application to support localization. - Set up error-logging for their web application to capture runtime errors - both in the back-end and in the front-end. They'll also know how to write tests that replicate errors before implementing a fix to prevent regressions.