Learn Javascript: Full-Stack From Scratch
Last updated 7/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 15.56 GB | Duration: 28h 37m
Last updated 7/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 15.56 GB | Duration: 28h 37m
Understand the JavaScript language itself, Node.js, MongoDB, The Web Browser and More To Create Meaningful Applications
What you'll learn
The JavaScript language itself
How to control a database (MongoDB) with JavaScript
How to control the Web Browser with JavaScript
How to implement user registration, log-in, log-out & user generated content
How to setup a server by using Node JS and Express
Requirements
No prerequisite knowledge required; the only thing you need is a computer (that you are allowed to install software on) and an internet connection.
Description
Learn the incredibly popular and in demand JavaScript language. This course makes no assumptions of prior computer programming experience. We begin with the very basics and slowly but surely work our way up to writing JavaScript code to power every aspect of an application.There are countless JavaScript courses in the world; here's what makes this one unique:A strong emphasis on the "why" and not just the "how"As few assumptions as possible; it's a pet peeve of mine when instructors assume I know something I don'tAs few "just download my existing project to get you up and running" moments as possible. It's another pet peeve of mine when instructors have you use an existing solution that just "automagically" works and you miss a potential learning experience of setting it up yourself. We do copy-and-paste HTML templates (since the focus of the course is not about HTML) but aside from that I explain things from the ground up.Here's what we'll learn in the course:The JavaScript language itselfThe Web Browser EnvironmentThe Node.js environmentThe MongoDB environmentThe Express framework for creating serversUser registration & user-generated contentAuthentication (both stateful with sessions and stateless with JSON Web Tokens)… and much more!I encourage you to watch the freely available first lesson titled "Where Do We Begin?" to get a better feel for the course.This course may be brand new, but this isn’t my first time teaching. I’ve led training sessions for Fortune 500 companies and I’ve already helped over 65,000 people on Udemy and received the following feedback:"Brad definitely has some of the best techniques to embed the lesson into your mind… hands down these are the best tutorials I have had the opportunity to view.""Presentation is concise without being tedious… you honestly feel that you have a thorough understanding of the subject.""…[Brad] explained the process. Not memorize this or that, he explained the process. If you're looking to take a course to understand the foundations of creating websites, look no further."Become highly valuable and relevant to the companies that are hiring JavaScript developers; in one convenient place alongside one instructor. If you're ready to begin coding your own applications from the ground up - I'll see you on the inside!
Overview
Section 1: Welcome To The Course!
Lecture 1 Where Do We Begin?
Section 2: The 10 Days of JavaScript: The Language Itself
Lecture 2 Getting Started
Lecture 3 Functions
Lecture 4 Objects
Lecture 5 Arrays
Lecture 6 Making Decisions
Lecture 7 Higher-Order Functions
Lecture 8 Returning vs Mutating
Lecture 9 Scope & Context (Part 1)
Lecture 10 Scope & Context (Part 2)
Lecture 11 Miscellaneous Info (Part 1)
Lecture 12 Miscellaneous Info (Part 2)
Lecture 13 Building To-Do App (Part 1)
Lecture 14 Building To-Do App (Part 2)
Section 3: Server Basics
Lecture 15 Why Do We Need a Server?
Lecture 16 Node.js Intro
Lecture 17 Text Editor Software
Lecture 18 Our First Basic Server
Lecture 19 Express Intro (Part 1)
Lecture 20 Express Intro (Part 2)
Lecture 21 What's Next? (Big Picture)
Section 4: Database Basics
Lecture 22 First Taste of a Database
Lecture 23 Note About The Next Video Lesson
Lecture 24 Optional: Host Your Database Locally On Your Computer
Lecture 25 CRUD: Actually Working With A Database
Lecture 26 Initial Setup for App #1
Lecture 27 Save Time: Automatic Node App Restarts
Lecture 28 Note About Concept In The Next Video Lesson
Lecture 29 Connecting Node App to Database
Lecture 30 Solution to Common Database Problem
Lecture 31 Installing NPM Packages Without Stopping Server/App
Lecture 32 Reading Data from a Database
Lecture 33 Updating a Database Item (Part 1)
Lecture 34 Updating a Database Item (Part 2)
Lecture 35 Deleting a Database Item
Lecture 36 Create New Item Without Page Reload
Lecture 37 Client-Side Rendering
Lecture 38 What About Security?
Lecture 39 Note About Front-End Security
Lecture 40 Pushing Our App Onto The Internet
Section 5: Starting Our Complex App (App #2)
Lecture 41 What's Next?
Lecture 42 Optional: Finished Product Working Example
Lecture 43 Let's Begin App #2
Lecture 44 Always Have The Current Year In The Footer
Lecture 45 Important Note About Package Versions To Save You Frustration
Lecture 46 What Is A Router?
Lecture 47 What Is A Controller?
Lecture 48 Security Note
Lecture 49 What Is A Model?
Lecture 50 Note About Arrow Functions & The "this" Keyword
Lecture 51 Adding Validation To Our Model
Lecture 52 Quick Misc. Clean Up
Lecture 53 Quick Note About Connecting to Database
Lecture 54 Optional: Hosting Your Database Locally
Lecture 55 Connecting To Database In a Reusable Fashion
Lecture 56 Best Practice Time Out: Environment Variables
Lecture 57 Quick Note
Lecture 58 Letting Users Log In
Lecture 59 What is a Promise? (Part 1)
Lecture 60 What is a Promise? (Part 2)
Lecture 61 Running Multiple Promises Efficiently When Order Doesn't Matter
Lecture 62 Hashing User Passwords
Lecture 63 How Can We "Identify" or "Trust" a Request?
Lecture 64 Session Security
Lecture 65 Understanding Sessions
Lecture 66 Letting Users Logout
Lecture 67 Adding Flash Messages
Lecture 68 User Registration Improvements (Part 1)
Lecture 69 User Registration Improvements (Part 2)
Lecture 70 Adding User Profile Photos
Section 6: User Created Posts
Lecture 71 Letting Users Create Posts (Part 1)
Lecture 72 Letting Users Create Posts (Part 2)
Lecture 73 ObjectId Instead of ObjectID
Lecture 74 Post Model (Part 1)
Lecture 75 Post Model (Part 2)
Lecture 76 Don't Forget The New Keyword With ObjectId
Lecture 77 Viewing a Post (Part 1)
Lecture 78 Viewing a Post (Part 2)
Lecture 79 Performing a Lookup in MongoDB (Part 1)
Lecture 80 Performing a Lookup in MongoDB (Part 2)
Lecture 81 User Profile Screen
Lecture 82 View Posts by Author
Lecture 83 Is the Current Visitor the Owner of the Post?
Lecture 84 The "Edit" Screen for a Post
Lecture 85 Updating Posts in Database (Part 1)
Lecture 86 Updating Posts in Database (Part 2)
Lecture 87 Miscellaneous Improvements
Lecture 88 Markdown: Safe User Generated HTML
Lecture 89 Make This Quick Edit To Your Code
Lecture 90 Let Users Delete a Post
Section 7: Live Search Feature
Lecture 91 Staying Organized: Front-End JavaScript
Lecture 92 Important Note For Windows Users
Lecture 93 Showing and Hiding Search Overlay
Lecture 94 Responding to Key Press Events
Lecture 95 Back-End Aspect of Search
Lecture 96 How To Create DB Indexes From Within Node.js Code
Lecture 97 Generating HTML for Search Results (Part 1)
Lecture 98 Generating HTML for Search Results (Part 2)
Lecture 99 Fixing The Month for Post Dates in Search Results
Lecture 100 Sanitizing User Generated HTML on the Front-End
Section 8: Letting Users Follow Each Other
Lecture 101 Letting Users Follow Each Other
Lecture 102 Saving a "Follow" Action Into Our Database
Lecture 103 Stop Following a User (Part 1)
Lecture 104 Stop Following a User (Part 2)
Lecture 105 Profile Followers Screen (Part 1)
Lecture 106 Profile Followers Screen (Part 2)
Lecture 107 Following Screen (Part 1)
Lecture 108 Following Screen (Part 2)
Lecture 109 Homepage Feed (Posts From Those You Follow)
Section 9: Live Chat (Socket.IO)
Lecture 110 Beginning Chat Feature
Lecture 111 Socket.IO (Part 1)
Lecture 112 Socket.IO (Part 2)
Lecture 113 Note About Socket.io In The Next Lesson
Lecture 114 Finishing Chat (Part 1)
Lecture 115 Finishing Chat (Part 2)
Lecture 116 Quick Misc. Feature: Dynamic Title Tag
Section 10: Live Validation for Registration Form
Lecture 117 Live Form Validation (Part 1)
Lecture 118 Live Form Validation (Part 2)
Lecture 119 Live Form Validation (Part 3)
Lecture 120 Live Form Validation (Part 4)
Section 11: What is CSRF? (Security)
Lecture 121 This Chapter Is For Historical Context
Lecture 122 About The "csurf" Package from NPM
Lecture 123 Preventing Cross-Site Request Forgery (CSRF)
Lecture 124 Adjusting Our App To Use CSRF Token
Section 12: Let's Create an API
Lecture 125 Setting Up The Skeleton for an API
Lecture 126 JSON Web Tokens (Part 1)
Lecture 127 JSON Web Tokens (Part 2)
Lecture 128 Finishing API and Understanding CORS
Section 13: Deploying Complex App to Render
Lecture 129 Pushing Our Complex App Up Onto The Web
Lecture 130 Note About SendGrid In The Next Video Lesson
Lecture 131 Sending Email From Our App
Lecture 132 Optional: Convert ".then()" Syntax To Async / Await
Section 14: Turning Our App Into a SPA
Lecture 133 Preventing Default Behavior of Links
Lecture 134 Fetching New Page Data With JS
Lecture 135 The Browser's History API
Lecture 136 Submitting Forms With Client-Side JS
Lecture 137 Edit & Delete Posts (SPA)
Section 15: Where Do We Go From Here?
Lecture 138 Next Steps & Career Advice
Lecture 139 Bonus Lecture
Anyone who might be interested in starting a career in computer programming (no experience required).