Course Description

The Complete Full Stack Web Development Course covers the fundamentals of web deveopment
before diving deep into great tools like Nodejs, Express, Mongoose, and MongoDB.
The entire course is based around a single goal: Turning you into a professional Full Stack Web Developer
capable of developing, testing, and deploying real-world production applications.

From the very start you’ll be programming every project and working through challenges
that we have designed to reinforce what you’ve learned. This will give you the hands-on experience
necessary to be able to create and launch your own project once you’re done.

You can stop worrying if you're learning the right skills to build an app or land a new job.
We have curated all the tech that's essential to building real-world apps. We have mapped out
everything in a comprehensive, easy-to-follow package designed to get you up and running
in a few weeks.

What you'll learn in this course:

  • Build 10+ web development projects for your portfolio, ready to apply for junior developer jobs.
  • After the course you will be able to build ANY website you want.
  • Master backend development with NodeJs.
  • Learn the latest technologies, including Javascript, NodeJs, MongoDb, etc.
  • Build fully-fledged websites and web apps for your startup or business.
  • Learn professional developer best practices.

Requirements

  • No pre-knowledge required - we'll teach you everything you need to know.
  • A PC or Mac is required.
  • No software is required in advance of the course (all software used in the course is free or has a demo version).
  • Should be able to understand English.

Curriculum

  • 28 Sessions
  • 84 Hours
  • Greetings and Introductions
  • How Does the Internet Actually Work?
  • How Do Websites Actually Work?
  • Introduction to HTML
  • Using HTML Tags
  • The Anatomy of an HTML Tag
  • What we're building - HTML Personal Site
  • What is The HTML Boilerplate?
  • How to Structure Text in HTML
  • HTML Lists
  • HTML Image Elements
  • HTML Links and Anchor Tags
  • HTML Tables
  • Using HTML Tables for Layout
  • HTML Forms
  • Publish Your Website!
  • Introduction to CSS
  • Inline CSS
  • Internal CSS
  • External CSS
  • How to Debug CSS Code
  • The Anatomy of CSS Syntax
  • CSS Selectors
  • Classes vs. Ids
  • What We'll Make - Stylised Personal Site
  • What Are Favicons?
  • HTML Divs
  • The Box Model of Website Styling
  • CSS Display Property
  • CSS Static and Relative Positioning
  • Absolute positioning
  • Font Styling in Our Personal Site
  • Typography
  • Adding Content to Our Website
  • CSS Sizing
  • CSS Float and Clear
  • What is Bootstrap?
  • Installing Bootstrap
  • The Bootstrap Navigation Bar
  • What We'll Make: TinDog
  • Setting Up Our New Project
  • Bootstrap Grid Layout System
  • Adding Grid Layouts to Our Website
  • Bootstrap Containers
  • Bootstrap Buttons & Font Awesome
  • The Bootstrap Carousel Part 1
  • The Bootstrap Carousel Part 2
  • Bootstrap Cards
  • The CSS Z-Index and Stacking Order
  • Media Query Breakpoints
  • Advanced CSS - Combining Selectors
  • Advanced CSS - Selector Priority
  • Completing the Website
  • Bootstrap Buttons & Font Awesome
  • Introduction to Javascript
  • Javascript Alerts - Adding Behaviour to Websites
  • Data Types
  • Javascript Variables
  • Naming and Naming Conventions for Javascript Variables
  • String Concatenation
  • String Lengths and Retrieving the Number of Characters
  • Slicing and Extracting Parts of a String
  • Basic Arithmetic and the Modulo Operator in Javascript
  • Increment and Decrement Expressions
  • Functions Part 1: Creating and Calling Functions
  • Functions Part 1 Challenge - The Karel Robot
  • Functions Part 2: Parameters and Arguments
  • Life in Weeks Coding Exercise
  • Functions Part 3: Outputs & Return Values
  • Create a BMI Calculator
  • Random Number Generation in Javascript: Building a Love Calculator
  • Control Statements: Using If-Else Conditionals & Logic
  • Comparators and Equality
  • Combining Comparators
  • BMI Calculator Advanced (IF/ELSE)
  • Leap Year Challenge Exercise
  • Collections: Working with Javascript Arrays
  • Adding Elements and Intermediate Array Techniques
  • Control Statements: While Loops
  • Control Statements: For Loops
  • Adding Javascript to Websites
  • Introduction to the Document Object Model (DOM)
  • Selecting HTML Elements with Javascript
  • Manipulating and Changing Styles of HTML Elements with Javascript
  • The Separation of Concerns: Structure vs Style vs Behaviour
  • Text Manipulation and the Text Content Property
  • Manipulating HTML Element Attributes
  • Creating the Dicee Challenge
  • What We'll Make: Drum Kit
  • Adding Event Listeners to a Button
  • Higher Order Functions and Passing Functions as Arguments
  • How to Play Sounds on a Website
  • A Deeper Understanding of Javascript Objects
  • How to Use Switch Statements in Javascript
  • Objects, their Methods and the Dot Notation
  • Using Keyboard Event Listeners to Check for Key Presses
  • Understanding Callbacks and How to Respond to Events
  • Adding Animation to Websites
  • What is jQuery?
  • How to Incorporate jQuery into Websites
  • How Minification Works to Reduce File Size
  • Selecting Elements with jQuery
  • Manipulating Styles with jQuery
  • Manipulating Text with jQuery
  • Manipulating Attributes with jQuery
  • Adding Event Listeners with jQuery
  • Adding and Removing Elements with jQuery
  • Website Animations with jQuery
  • Creating the Simon Game
  • Backend Web Development Explained
  • Installing and Exploring Node.js
  • What is Node.js?
  • Why Should We Use Node.js?
  • Introduction to Node.js Module System
  • Importing Node.js Core Modules
  • Importing Your Own Files
  • Importing npm Modules
  • Introduction to File System and Command Line Args
  • Getting Input from Users
  • Argument Parsing with Yargs
  • Storing Data with JSON
  • Performing CRUD operations on a Note
  • Introduction to Debugging Node.js
  • Debugging Node.js
  • Error Messages
  • Introduction to Asynchronous Node.js
  • Asynchronous Basics
  • Call Stack, Callback Queue, and Event Loop
  • Making HTTP Requests
  • Customizing HTTP Requests
  • Handling Errors
  • The Callback Function
  • Callback Chaining
  • Adding and Removing Elements with jQuery
  • Website Animations with jQuery
  • Introduction to Web Servers
  • Serving up HTML and JSON
  • Serving up Static Assets
  • Serving up CSS, JS, Images, and More
  • Dynamic Pages with Templating
  • Customizing the Views Directory
  • Advanced Templating
  • 404 Pages
  • Styling the Application
  • Introduction to Accessing API from Browser
  • The Query String
  • Building a JSON HTTP Endpoint
  • Browser HTTP Requests with Fetch
  • Creating a Search Form
  • Wiring up the User Interface
  • Introduction to Application Deployment
  • Joining Heroku and GitHub
  • Version Control with Git
  • Exploring Git
  • Integrating Git
  • Setting up SSH Keys
  • Pushing Code to GitHub
  • Deploying Node.js to Heroku
  • New Feature Deployment Workflow
  • Introduction to Databases and Advanced Asynchronous Development
  • MongoDB and NoSQL Databases
  • Installing MongoDB on Windows
  • Installing Database GUI Viewer
  • Connecting and Inserting Documents
  • The ObjectID
  • Querying Documents
  • Promises
  • Updating Documents
  • Deleting Documents
  • Introduction to REST APIs and Mongoose
  • Setting up Mongoose
  • Creating a Mongoose Model
  • Data Validation and Sanitization
  • Structuring a REST API
  • Installing Postman
  • Resource Creation Endpoints
  • Promise Chaining
  • Async/Await
  • Integrating Async/Await
  • Separate Route Files
  • Introduction to API Authentication and Security
  • Securely Storing Passwords
  • Logging in Users
  • Sessions
  • Express Middleware
  • Logging Out
  • The User/Task Relationship
  • Introduction to File Uploads
  • Adding Support for File Uploads
  • Validating File Uploads
  • Handling Express Errors
  • Adding Images to User Profile
  • Serving up Files
  • Introduction to Sending Emails
  • Exploring SendGrid
  • Sending Emails
  • Environment Variables
  • Creating a Production MongoDB Database
  • Heroku Deployment
  • Introduction to Real-Time Web Applications with Socket.io
  • Creating the Chat App Project
  • WebSockets
  • Getting Started with Socket.io
  • Socket.io Events
  • Broadcasting Events
  • Sharing Your Location
  • Event Acknowledgements
  • Form and Button States
  • Rendering Messages
  • Rendering Location Messages
  • Working with Time
  • Timestamps for Location Messages
  • Styling the Chat App
  • Socket.io Rooms
  • Tracking Users Joining and Leaving
  • Sending Messages to Rooms
  • Deploying the Chat Application
You Can be Your Own

Guiding Star with Our Help!

Contact Us