Course Highlights
  • 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

Overview

What you must know about the course

  • Creating dynamic and interactive user interfaces with JavaScript.
  • Creating web applications that are both responsive and aesthetically pleasing using HTML5 and CSS3.
  • Manipulating the DOM and managing user interactions with JavaScript.
  • Developing asynchronous programming patterns using Callbacks, Promises, and Async/Await
  • Designing and working with databases using MongoDB.
  • Creating RESTful APIs and authentication in a Node.js environment.
  • Creating modern and practical front-end applications using React.js.
  • Git is used for version control when developing collaboratively.
  • Publishing full-stack applications to cloud platforms and setting up domains with SSL.
  • Strategy for testing and debugging of both the front-end as well back-end code.
  • Adopting security best practices to ensure your applications are secure.
  • Establishing automated CI/CD pipelines for continuous testing and deployment.

Who will be eligible for the Course?

  • You must have a Basic Programming Knowledge
  • Should be capable of understanding the JavaScript language 
  • Well-versed with the HTML and CSS Fundamentals
  • JavaScript Basics
  • Need to have at least Basic Node.js Knowledge

Who Should Do This Course?

  • Beginner Developers: Individuals with little or no programming experience but want to begin their foray into Full-Stack Development.
  • Front-End Developers: People looking to enhance their skill set towards becoming Full-Stack Developers.
  • Back-End Developers: Developers aim to enhance their skills by including front-end development in their skill set.
  • Web Developers: Anyone looking to develop robust and scalable web apps using the newest JavaScript.
  • Students and Enthusiasts: Computer Science or related fields students and programming enthusiasts who wish to further their knowledge on Full-Stack JavaScript development.
With or without a technical background, this Course offers an organized and thorough way to learn Full-Stack JavaScript, creating the necessary skills for success in today’s rapidly changing web development environment.
Curriculum

1 Topic
Where Do We Begin?

14 Topics
Getting Started
Functions
Objects
Arrays
Arrays Exercise
Making Decisions
Higher-Order Functions
Returning vs Mutating
Scope & Context (Part 1)
Scope & Context (Part 2)
Miscellaneous Info (Part 1)
Miscellaneous Info (Part 2)
Building To-Do App (Part 1)
Building To-Do App (Part 2)

7 Topics
Why Do We Need a Server?
Node.js Intro
Text Editor Software
Our First Basic Server
Express Intro (Part 1)
Express Intro (Part 2)
What's Next? (Big Picture)

19 Topics
First Taste of a Database
Note About The Next Video Lesson
Optional: Host Your Database Locally On Your Computer
CRUD: Actually Working With A Database
Initial Setup for App #1
Save Time: Automatic Node App Restarts
Note About Concept In The Next Video Lesson
Connecting Node App to Database
Solution to Common Database Problem
Installing NPM Packages Without Stopping Server/App
Reading Data from a Database
Updating a Database Item (Part 1)
Updating a Database Item (Part 2)
Deleting a Database Item
Create New Item Without Page Reload
Client-Side Rendering
What About Security?
Note About Front-End Security
Pushing Our App Onto The Internet

30 Topics
What's Next?
Optional: Finished Product Working Example
Let's Begin App #2
Always Have The Current Year In The Footer
Important Note About Package Versions To Save You Frustration
What Is A Router?
What Is A Controller?
Security Note
What Is A Model?
Note About Arrow Functions & The "this" Keyword
Adding Validation To Our Model
Quick Misc. Clean Up
Quick Note About Connecting to Database
Optional: Hosting Your Database Locally
Connecting To Database In a Reusable Fashion
Best Practice Time Out: Environment Variables
Quick Note
Letting Users Log In
What is a Promise? (Part 1)
What is a Promise? (Part 2)
Running Multiple Promises Efficiently When Order Doesn't Matter
Hashing User Passwords
How Can We "Identify" or "Trust" a Request?
Session Security
Understanding Sessions
Letting Users Logout
Adding Flash Messages
User Registration Improvements (Part 1)
User Registration Improvements (Part 2)
Adding User Profile Photos

20 Topics
Letting Users Create Posts (Part 1)
Letting Users Create Posts (Part 2)
ObjectId Instead of ObjectID
Post Model (Part 1)
Post Model (Part 2)
Don't Forget The New Keyword With ObjectId
Viewing a Post (Part 1)
Viewing a Post (Part 2)
Performing a Lookup in MongoDB (Part 1)
Performing a Lookup in MongoDB (Part 2)
User Profile Screen
View Posts by Author
Is the Current Visitor the Owner of the Post?
The "Edit" Screen for a Post
Updating Posts in Database (Part 1)
Updating Posts in Database (Part 2)
Miscellaneous Improvements
Markdown: Safe User Generated HTML
Make This Quick Edit To Your Code
Let Users Delete a Post

10 Topics
Staying Organized: Front-End JavaScript
Important Note For Windows Users
Showing and Hiding Search Overlay
Responding to Key Press Events
Back-End Aspect of Search
How To Create DB Indexes From Within Node.js Code
Generating HTML for Search Results (Part 1)
Generating HTML for Search Results (Part 2)
Fixing The Month for Post Dates in Search Results
Sanitizing User Generated HTML on the Front-End

9 Topics
Letting Users Follow Each Other
Saving a "Follow" Action Into Our Database
Stop Following a User (Part 1)
Stop Following a User (Part 2)
Profile Followers Screen (Part 1)
Profile Followers Screen (Part 2)
Following Screen (Part 1)
Following Screen (Part 2)
Homepage Feed (Posts From Those You Follow)

7 Topics
Beginning Chat Feature
Socket.IO (Part 1)
Socket.IO (Part 2)
Note About Socket.io In The Next Lesson
Finishing Chat (Part 1)
Finishing Chat (Part 2)
Quick Misc. Feature: Dynamic Title Tag

4 Topics
Live Form Validation (Part 1)
Live Form Validation (Part 2)
Live Form Validation (Part 3)
Live Form Validation (Part 4)

4 Topics
This Chapter Is For Historical Context
About The "csurf" Package from NPM
Preventing Cross-Site Request Forgery (CSRF)
Adjusting Our App To Use CSRF Token

4 Topics
Setting Up The Skeleton for an API
JSON Web Tokens (Part 1)
JSON Web Tokens (Part 2)
Finishing API and Understanding CORS

4 Topics
Pushing Our Complex App Up Onto The Web
Note About SendGrid In The Next Video Lesson
Sending Email From Our App
Optional: Convert ".then()" Syntax To Async / Await

5 Topics
Preventing Default Behavior of Links
Fetching New Page Data With JS
The Browser's History API
Submitting Forms With Client-Side JS
Edit & Delete Posts (SPA)

2 Topics
Next Steps & Career Advice
Bonus Lecture

  Write a Review

Learn JavaScript: Full-Stack from Scratch

Go to Paid Course
Frequently Asked Questions
No, JavaScript is a general-purpose language used for front-end and back-end coding. Although JavaScript is generally seen as a means to improve user interfaces mainly for front-end scripting, technologies such as Node.js enable developers to use it in server-side programming.
JScript and Java are different languages despite their names. JavaScript is a web development language, whereas Java is a general-purpose programming language.
JavaScript supports dynamic and interactive functionalities on websites. It is also crucial for designing interactive user interfaces handling the users’ events without the frequency of loading pages to improve overall interaction.
JavaScript is a widely applicable programming language typically used to produce interactive effects in web browsers. It enables developers to improve the functionality and aesthetics of websites.
Some popular JavaScript frameworks and libraries are React.js, Angular.js, and Vue.js. These tools make the development process simpler and more structured, providing usable components that could be reused in other applications.