Nodejs Express Full Stack Bootcamp 2023 W/ Testing, Swagger
Last updated 1/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 14.45 GB | Duration: 23h 48m
Last updated 1/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 14.45 GB | Duration: 23h 48m
Frontend and Backend Projects using technologies Fortune 100 companies use
What you'll learn
Learn to create a complete frontend and backend, (Fullstack), Bookstore projects using NodeJS, ExpressJs and the Node Design Pattern (Server/Listener/Router).
Add authentication/authorization to our bookstore. Use CRUD operations on MongoDB to persist books and authors
Take advantage of Jenkins for CI/CD tool and Swagger to create our documentation for our backend.
Test the frontend and backend using unit test, integration test for the backend and automated Selenium test for the frontend
Requirements
Beginner experience, JavaScript experience preferred since we will be using ES6 syntax.
Description
94 videos and almost 24 hours of content to master the NodeJS BootcampLearn to create a complete frontend and backend, (Full Stack), Bookstore projects using NodeJS, ExpressJs and the Node Design Pattern (Server/Listener/Router). We will modularize our application so we can reuse, extend and easily test our modules.We will use bcrypt to encrypt passwords and use JSON Web Token for authorizing users to see certain pages on our site.Use CRUD operations on MongoDB to persist books and authors. You will be introduced to Mongoose. A MongoDB client wrapper that add schema functionality, validation, and normalization to our non normalized database.Take advantage of Jenkins for CI/CD tool to run our test and let us continually integrate our application and test seamlessly and with full confidence our codebase is solid and well tested.We will use Swagger to create our documentation for our backend. Swagger tools takes the hard work out of generating and maintaining your API docs, ensuring your documentation stays up-to-date as your API evolves.Test the frontend and backend using the Jest Testing framework that has a focus on simplicity. We will use Postman to create our integration tests for the backend. Postman assist in setting up automated API tests to test the different endpoints in your API will help catch bugs as quickly as possible.Automated Selenium test for the frontend. Selenium has fast and easy onboarding. Works across all applications in the tech stack and finds bugs quickly with visual debugging.Beginner experience, JavaScript experience preferred since we will be using ES6 syntax.Calling all excited developers who are tired of creating Monolith applications or just frontend applications from some YouTuber who has no clue how to code correctly, then this course is for you.
Overview
Section 1: Introduction
Lecture 1 Introduction
Lecture 2 Full Stack Tools
Lecture 3 Course Details (Requirements for the course)
Section 2: Let's Get Started with coding the Backend!!
Lecture 4 Let's create our backend project
Lecture 5 Creating the Server from our server/listener/router design pattern
Lecture 6 Creating the Request Listener from our server/listener/router design pattern
Lecture 7 Creating the Router from our server/listener/router design pattern
Lecture 8 Let's Install MongoDB as a Docker Container
Lecture 9 Mongoose Introduction and MongoDB Connection
Lecture 10 Create our Database functionality
Lecture 11 Test Driven Development and Unit Testing
Lecture 12 Unit Test the Database Functions
Lecture 13 Finish the registration route and encrypt password
Lecture 14 Create the Login Requirements
Lecture 15 Create the Login Route and JsonWebToken for Authorization
Lecture 16 Refactoring the Registration Route
Lecture 17 Postman Integration Tests for Login and Registration Backend
Section 3: Let's Get Started with coding the Frontend
Lecture 18 Start creating the Frontend
Lecture 19 Creating the EJS Templates for frontend
Lecture 20 Creating the Navigation and Footer
Lecture 21 Create our Registration and Login Forms
Lecture 22 Cleanup our forms and website
Lecture 23 Client Validation for the Registration Page
Lecture 24 Add Validation to our routes and registration page
Lecture 25 Login Validation
Lecture 26 Post Registration to the backend from the frontend
Lecture 27 Post Login to the backend from the frontend
Lecture 28 Create Session to control Website and Navigation
Lecture 29 Add Logout Functionality
Lecture 30 Unit Test the Frontend Services
Section 4: Jenkins and Docker - Building Stable Code
Lecture 31 Configuring Jenkins in Docker and adding the backend project to Jenkins
Lecture 32 Add the Frontend Project to Jenkins for build stability
Section 5: Backend Service for Books and Authors
Lecture 33 Create the GET for all books
Lecture 34 Create the GET for all Books and their Ids
Lecture 35 Create GET Book By Id
Lecture 36 Post a Book to the database
Lecture 37 Update a Book in the database
Lecture 38 Delete a Book in the database
Lecture 39 Integration Test in Postman for GET and GET by ID
Lecture 40 Integration Test in Postman for PUT and DELETE
Lecture 41 Creating the Author Model and Database Functionality
Lecture 42 Saving the Author to the Database, (POST)
Lecture 43 Get an Author and Get Author By Id
Lecture 44 Finish our CRUD operations on the Author with Patch and Delete
Lecture 45 Write Integration Test for GET and GET by Id for the author
Lecture 46 Write Integration Test for PATCH and DELETE author
Lecture 47 Adding Authorization to Books and Authors
Lecture 48 Write Unit Test for the Book DB functions
Lecture 49 Write Unit Test for the Author DB functionality
Lecture 50 Write Swagger documentation for the Users backend
Lecture 51 Write Swagger documentation for the Book POST and GET
Lecture 52 Write SwaggerUi documentation for GET, PUT, and DELETE by Id
Lecture 53 Write SwaggerUi documentation for Author
Section 6: Frontend Service for Books and Authors
Lecture 54 Refactor the frontend to use templates and handlers
Lecture 55 Refactor Frontend Post to use handlers
Lecture 56 Refactor Fix Post mistake
Lecture 57 Write the Books Router and Handler to GET book page
Lecture 58 Retrieve All the books from the backend and display in our books page
Lecture 59 Post a Book from the frontend to the backend
Lecture 60 Edit a Book
Lecture 61 Update a book on the backend and get all updated books
Lecture 62 Frontend Refactor
Lecture 63 Delete a book on the backend and get all remaining books
Lecture 64 Fix small bug in message for getting books
Lecture 65 Unit test the book service
Lecture 66 Get the authors from the backend
Lecture 67 Delete Author on the frontend
Lecture 68 Edit Author for updating on the backend
Lecture 69 Update author information on the backend
Lecture 70 Add author page to be rendered with titles of books
Lecture 71 Post an author to the backend
Lecture 72 Displaying the book information on our authors page
Lecture 73 Creating the error page
Lecture 74 Unit test the author service
Lecture 75 Finish unit testing the author service
Section 7: Selenium Automated Testing
Lecture 76 Introduction to Selenium
Lecture 77 Test the home page using Selenium
Lecture 78 Test the registration page using Selenium
Lecture 79 Test the Login Page using Selenium
Lecture 80 Test the books link and add book page using Selenium
Lecture 81 Test Add a book using Selenium
Lecture 82 Test Edit a book using Selenium
Lecture 83 Test render the Authors page and Add Author Page
Lecture 84 Test adding an author using Selenium
Lecture 85 Test Edit Author page and edit an author using Selenium
Lecture 86 Test delete an author and delete a book using Selenium
Lecture 87 Test about page and logout using Selenium
Section 8: Deploying our projects to Docker
Lecture 88 Dockerfile Introduction
Lecture 89 Deploying the backend to docker
Lecture 90 Deploying the frontend to docker
Lecture 91 GitHub Cleanup and .env file removed
Lecture 92 Redeploy the backend to docker without the .env file
Lecture 93 Redeploy the frontend to docker without an .env file
Section 9: Final thoughts and wrap up
Lecture 94 Wrap up and Final thoughts
Excited developers who want to take their knowledge and experience to the next level. We will use tools that are used in the Software Industry by Fortune 100 companies