You are on page 1of 92

Path Progress

Progress: 100%
100%

Reset Progress
Path Description

As a jack of all trades (and master of quite a few), a full-stack engineer can get a project
done from start to finish. In this Career Path, your team will begin with the front-end,
move on to the back-end, then learn to connect the two. By the time they're done,
they'll have the well-rounded skills needed to confidently drive projects for your
organization.
Details

Certificate of Completion · View
6 months to complete in total
Beginner
1. Welcome to the Full-Stack Engineer Path
Getting Started
See what’s covered in the Full-Stack Engineer Career Path.

InfoWelcome to the Full-Stack Engineer Path

InfoHelpful Resources

InfoCommunity Resources

Resume

2. Getting Started with Full-Stack Engineering


Introduction: Getting Started with Full-Stack Engineering
See what you’ll be learning in the Getting Started with Full-Stack Engineering Unit.

InfoIntroduction: Getting Started with Full-Stack Engineering

Resume
Introduction to Software Engineering
Understand the basics of programming, software engineering, and the difference between front-
end and back-end (and full-stack!)

ArticleWhat is Programming?

VideoWhat Does a Software Engineer Do?

VideoWhat are the Differences Between Front-End and Back-End Engineering?

Resume

Review: Getting Started with Full-Stack Engineering


Review what you just learned in the Getting Started with Full-Stack Engineering Unit

InfoReview: Getting Started with Full-Stack Engineering

Resume

3. JavaScript Syntax, Part I


Introduction: JavaScript Syntax, Part I
Get introduced to JavaScript and get comfortable with the basics of writing JavaScript programs

InfoIntroduction: JavaScript Syntax, Part I

Resume

Introduction to Programming with JavaScript


Understand how JavaScript plays a significant role in web development.

ArticleJavaScript: All the Cool Kids Are Doing It

ArticleJavaScript Versions: ES6 and Before

ReadingJavaScript and JQuery, Introduction

ArticleIntro to Mozilla Developer Network


DocsMDN JavaScript

Resume

Learn JavaScript Syntax: Introduction


In this course, you will learn about JavaScript data types, built-in methods, and variables.

Cheatsheet
|
Practice Pack

LessonIntroduction to JavaScript

LessonVariables

QuizIntroduction to JavaScript

ReadingJavaScript & JQuery, Chapter 1

ProjectKelvin Weather

ProjectDog Years

Resume

Learn JavaScript Syntax: Conditionals


Learn how to use if, else if, else, switch, and ternary syntax to control the flow of a program in
JavaScript.

Cheatsheet
|
Practice Pack

LessonConditional Statements

QuizConditional Statements Quiz


ReadingJavaScript and JQuery, Chapter 4 (pp. 146-169)

ProjectMagic Eight Ball

ProjectRace Day

Resume

Learn JavaScript Syntax: Functions


Learn about JavaScript function syntax, passing data to functions, the return keyword, ES6 arrow
functions, and concise body syntax.

Cheatsheet
|
Practice Pack

LessonFunctions

QuizFunctions Quiz

ReadingJavaScript and JQuery, Chapter 3 (pp. 86-97)

ProjectRock, Paper, or Scissors

ProjectSleep Debt Calculator

Resume

Learn JavaScript Syntax: Scope


Learn about global and block level scope in JavaScript.

Cheatsheet
|
Practice Pack

LessonScope
QuizScope Quiz

ProjectTraining Days

Resume

Practice JavaScript Syntax: Variables, Data Types, Conditionals, Functions


Practice what you’ve learned with JavaScript Syntax

LessonCode Challenges: JavaScript Fundamentals

ArticleJavaScript Practice: Data Types, Conditional, Functions

Resume

Number Guesser
Test your JavaScript knowledge with this challenge project

ProjectNumber Guesser

Resume

Review: JavaScript Syntax, Part I


Review what was covered in the JavaScript Syntax, Part I unit.

InfoReview: JavaScript Syntax, Part I

Resume

4. JavaScript Syntax, Part II


Introduction: JavaScript Syntax, Part II
See what’s covered in the JavaScript Syntax, Part II unit.

InfoIntroduction: JavaScript Syntax, Part 2

Resume

Learn JavaScript Syntax: Arrays


In this course, you will learn about arrays, a data structure in JavaScript used to store lists of
data.
Cheatsheet
|
Practice Pack

LessonArrays

QuizArrays Quiz

ReadingJavaScript and JQuery, Chapter 2 (pp. 70-73)

ProjectSecret Message

Resume

Learn JavaScript Syntax: Loops


In this course, you will learn how to use for and while loops to execute blocks of code multiple
times.

Cheatsheet
|
Practice Pack

LessonLoops

QuizLoops Quiz

ReadingJavaScript and JQuery, Chapter 4

ProjectWhale Talk

ArticleThe for...of Loop

Resume

Learn JavaScript Syntax: Objects


Learn about JavaScript ES6 object syntax to model real-world items.
Cheatsheet
|
Practice Pack

LessonObjects

LessonAdvanced Objects

QuizObjects

ReadingJavaScript and JQuery, Chapter 3

ProjectMeal Maker

ProjectTeam Stats

ResourceMDN - Introducing JavaScript objects

DocsMDN - Object

Resume

Learn JavaScript Syntax: Iterators


In this course, you will learn how to use iterator methods to simplify the process of looping over
arrays.

Cheatsheet
|
Practice Pack

LessonHigher-Order Functions

LessonIterators

QuizIterators Quiz
ArticleHow To Use Array Methods in JavaScript: Iteration Methods

DocsMDN Documentation: Arrays

ProjectMini Linter

Resume

Learn JavaScript Syntax: Errors and Debugging


Learn how to address errors in this course all about JavaScript errors!

Cheatsheet
|
Practice Pack

ArticleThinking About Errors in Your Code Differently

LessonDebugging JavaScript Code

Resume

Pair-Programming: JavaScript Syntax Part I and II


You can learn a lot on your own, but you can learn even more when you collaborate with others!

InfoPair-Programming: JavaScript Syntax Part I and II

Resume

Practice JavaScript Syntax: Arrays, Loops, Objects, Iterators


Practice what you’ve learned with JavaScript Syntax.

LessonCode Challenges: Intermediate JavaScript

ArticleJavaScript Practice: Arrays, Loops, Objects, Iterators

ProjectLodash

Resume
Credit Card Checker
Test your intermediate JavaScript syntax knowledge with this challenge project.

ProjectCredit Card Checker

Resume

Mysterious Organism
Test your intermediate JavaScript syntax knowledge with this challenge project.

ProjectMysterious Organism

Resume

Review: JavaScript Syntax, Part II


Review what was covered in the JavaScript Syntax, Part II unit.

InfoReview: JavaScript Syntax, Part II

Resume

5. Setting Up Your Dev Environment


Introduction: Setting Up Your Dev Environment
See what you’ll be learning in the Setting Up Your Dev Environment Unit.

InfoIntroduction: Setting Up Your Dev Environment

Resume

Command Line for Building Websites


This unit will teach you the basics of the command line so that you can set up website files on
your own computer.

Cheatsheet
|
Practice Pack

LessonNavigation

QuizNavigation
ArticleSetting Up Command Line

ProjectBicycle World

ProjectDaily Buzz

Resume

Text Editors
Learn to get set up with text editors!

ArticleGetting Started with Visual Studio Code and Building HTML Websites

TutorialGetting Started with Visual Studio Code

TutorialCustomize Visual Studio Code with Extension Marketplace

ArticleVisual Studio Code and JavaScript

Resume

Running JavaScript
Learn how to run JavaScript in the browser and on your computer.

TutorialGet Started with Running JavaScript in The Console

ArticleWhat is Node?

ArticleSetting Up Node Locally

ResourceRepl.it IDE

Resume

Review: Setting Up Your Dev Environment


Review what you just learned in the Setting Up Your Dev Environment Unit
InfoReview: Setting Up Your Dev Environment

Resume

6. Git and Github, Part I


Introduction: Learn Git, Part I
See what you’ll be learning in the Learn Git, Part I Unit.

InfoIntroduction: Learn Git, Part I

Resume

Introduction to Git
Learn how to use the Git version control system to keep track of changes and document your
work.

Cheatsheet
|
Practice Pack

LessonBasic Git Workflow

ResourceMastering Git

QuizBasic Git Workflow

ResourceGit Cheat Sheet

TutorialGit version control in VS Code

Resume

How to Backtrack in Git


Learn different ways to undo changes made to a Git project and when to use them.

Cheatsheet
|
Practice Pack
LessonHow to Backtrack

ProjectPoem Fiasco

ProjectASCII Portfolio

QuizHow to Backtrack in Git

Resume

Introduction to GitHub
Learn how to use GitHub to keep track of changes in collaborative projects.

ArticleWhat is Github?

ArticleSet Up with Git and GitHub

ArticleGetting Started with Git and Github (Videos)

VideoStarting a Code Base on Github

VideoHow to Push Code to Github

ArticleUnderstanding the GitHub Flow

TutorialGet Up and Running

TutorialGitHub Lab

DocsGitHub Guides

Resume

Learn Markdown
Learn how to write markdown, a language used on GitHub and GitHub Pages.

VideoWhat is Markdown?

ArticleWhat is Markdown?

ArticleMastering Markdown

ResourceMarkdown Cheatsheet

ResourceMarkdown and Visual Studio Code

ArticleHow to write a good README for your GitHub project?

Resume

Review: Git and Github, Part I


Review what you just learned in the Git and Github, Part I Unit

InfoReview: Git and Github, Part I

Resume

7. JavaScript Syntax Portfolio Project


Group Project: Mixed Messages
You can learn a lot on your own, but you can learn even more when you collaborate with others!

InfoGroup Project: Mixed Messages

Resume

Mixed Messages
Build a Node.js console app that generates random messages each time a user runs the program
and version your project with Git/GitHub.

PortfolioMixed Messages

Resume
8. Web Development Fundamentals
Introduction: Web Development Fundamentals
See what you’ll be learning in the Web Development Fundamentals Unit.

InfoIntroduction: Web Development Fundamentals

Resume

What is the Internet?


Learn the history of the internet and how web development has changed over time.

LessonOverview of the Internet

ReadingHTML & CSS, Introduction

ArticleThe Internet, Explained

Resume

What is Web Development?


Learn about the tools developers use to create websites.

LessonLanguages for Web Development

ArticleWeb Development For Beginners

Resume

What is Front-End Development?


Learn about what front-end is and what frameworks are used in front-end development.

VideoWhat is Front-End?

VideoFront-End Frameworks

ResourceFront-End Developer Roadmap

Resume
Learn HTML: Elements
Learn about HTML elements and structure, the building blocks of websites.

Cheatsheet
|
Practice Pack

LessonIntroduction to HTML

QuizIntroduction to HTML

Resume

Learn HTML: Structure


Learn more about how to structure HTML documents and additional HTML elements.

Cheatsheet
|
Practice Pack

LessonHTML Document Standards

QuizHTML Document Standards

ReadingHTML & CSS, Chapters 1 - 5

ArticleIntro to Mozilla Developer Network

ArticleHTML on MDN Web Docs: Debugging

ProjectFashion Blog

Resume

Learn HTML: Tables


Learn all the syntax you need to create tables in your HTML documents.
Cheatsheet
|
Practice Pack

LessonHTML Tables

QuizHTML Tables

ProjectWine Festival Schedule

Resume

Semantic HTML
Write clearer, more accessible HTML using Semantic HTML tags.

Cheatsheet
|
Practice Pack

LessonSemantic HTML

QuizSemantic HTML

ArticleSemantic HTML

ArticleWriting HTML with Accessibility in Mind

ProjectNew York City Blog

Resume

Learn CSS: Selectors and Visual Rules


In this course, you will learn how to style individual and groups of elements using various visual
CSS rules.

Cheatsheet
|
Practice Pack

LessonSetup and Syntax

LessonSelectors

QuizSetup and Selectors

LessonVisual Rules

QuizVisual Rules

ReadingHTML & CSS, Chapter 10

DocsCSS on MDN Web Docs

ProjectHealthy Recipes

ProjectOlivia Woodruff Portfolio

Resume

Developing with CSS


Learn how to inspect webpages in the browser and add CSS to your website.

VideoIntro to Chrome Devtools

ArticleCSS Visual Rules in Chrome Inspector

ResourceChrome DevTools

ProjectDasmoto's Arts & Crafts

InfoDasmoto Solution
Resume

Semantic CSS
Write clearer, more accessible CSS using Semantic CSS names.

ArticleWhat Makes for a Semantic Class Name?

ArticleSemantic CSS

Resume

Build Your Own Cheat Sheet


Test your HTML and CSS knowledge with this challenge project.

ProjectBuild Your Own Cheat Sheet

Resume

Review: Intro to Web Development Fundamentals


Review what you just learned in the Web Development Fundamentals Unit

InfoReview: Web Development Fundamentals

Resume

9. Bringing Your Site Online


Introduction: Bringing Your Site Online
See what you’ll be learning in the Bringing Your Site Online Unit

InfoIntroduction: Bringing Your Site Online

Resume

Wireframing
Learn about wireframing - a quick way to sketch out website architecture.

VideoWhat are Wireframes?

VideoFrom Design to Website


TutorialHow to Create Your First Wireframe

ArticleEverything You Need to Know about Wireframes and Prototypes

Resume

Deploy a Site with GitHub Pages


Learn how to bring your site online with GitHub pages

ArticleWhat is GitHub Pages?

ArticleDeploying to GitHub Pages

DocsGitHub Pages

Resume

Web Hosting
Learn how to set up a custom domain and find a hosting service for your website.

VideoWhat is Hosting?

VideoWhat is a Domain Name?

LessonSetting Up Your Domain

ReadingHTML & CSS, Chapter 19: Domain Names & Hosting

Resume

Code Review: HTML/CSS Websites


You can learn a lot on your own, but you can learn even more when you collaborate with others!

InfoCode Review: HTML/CSS Websites

Resume

Off-Platform: Excursion Project


Create a web page which advertises a product called “Excursion” using HTML, CSS, Command
Line Interface, Git, and GitHub.
ProjectExcursion Project

InfoExcursion Project Solution

Resume

Review: Bringing Your Site Online


Review what you just learned in the Bringing Your site Online Unit

InfoReview: Bringing Your Site Online

Resume

10. Improved Styling with CSS


Introduction: Improved Styling of CSS
See what you’ll be learning in the Improve Styling of CSS Unit

InfoIntroduction: Improved Styling with CSS

Resume

Learn CSS: Colors


In this course, you will learn all about choosing and setting CSS colors using a variety of
techniques.

Cheatsheet
|
Practice Pack

LessonColor

QuizColor

ReadingHTML & CSS, Chapter 11

ProjectPaint Store

Resume
Learn CSS: Typography
In this course, you will learn all about CSS typography, such as how to include fonts from other
sources and how to style your text.

Cheatsheet
|
Practice Pack

LessonTypography

QuizTypography

ReadingHTML & CSS, Chapter 12

ProjectTypography

LessonCode Challenge: CSS Design

Resume

Learn CSS: The Box Model


In this course, you will learn how to use the Box Model to position HTML elements on your web
page.

Cheatsheet
|
Practice Pack

LessonThe Box Model

LessonChanging the Box Model

QuizBox Model

ArticleThe Box Model in DevTools


VideoThe Box Model in Devtools

ReadingHTML & CSS, Chapter 13

ProjectThe Box Model: Davie's Burgers

Resume

Learn CSS: Display and Positioning


In this course, you will learn CSS rules for displaying and positioning elements on your web
page.

Cheatsheet
|
Practice Pack

LessonDisplay and Positioning

QuizDisplay and Positioning

ReadingHTML & CSS, Chapter 15

ProjectBroadway

Resume

Build A Website Design System


Test your HTML and CSS knowledge with this challenge project.

ProjectBuild a Website Design System

Resume

Review: Improved Styling of CSS


Review what you just learned in the Improved Styling of CSS Unit

InfoReview: Improved Styling with CSS

Resume
11. Building Interactive Websites with JavaScript
Introduction: Building Interactive Websites with JavaScript
See what you’ll be learning in the Building Interactive Websites with JavaScript Unit

InfoIntroduction: Building Interactive Websites with JavaScript

Resume

JavaScript Interactive Websites


Learn how to bring JavaScript and HTML together with the script tag and begin to create
interactive websites.

Cheatsheet
|
Practice Pack

LessonThe Script Element

VideoCreate Your First JavaScript Website

ArticleHow To Add JavaScript to HTML

Resume

JavaScript and the DOM


Learn about the DOM model and how JavaScript interacts with it to alter a web page.

Cheatsheet
|
Practice Pack

VideoWhat is the DOM?

LessonThe Document Object Model

LessonJavascript and the DOM


ReadingJavaScript & JQuery, Chapter 5

Resume

DOM Events with JavaScript


Learn to create webpage interactivity by leveraging JavaScript events in the browser.

Cheatsheet
|
Practice Pack

LessonDOM Events with JavaScript

QuizDOM Events

ReadingJavaScript & JQuery, Chapter 6

ProjectPiano Keys

Resume

HTML Forms
Take this course and learn about the inner workings of an HTML form! Learn how to create your
own form and integrate HTML5 validations.

Cheatsheet
|
Practice Pack

LessonIntroduction to Form Validation

LessonHTML Forms

LessonForm Validation

QuizHTML Forms
ReadingHTML & CSS, Chapter 7

ArticleClient-Side Form Validation

ProjectForm a Story

Resume

Review: Building Interactive Websites with JavaScript


Review what you just learned in the Building Interactive Websites with JavaScript Unit

InfoReview: Building Interactive Websites with JavaScript

Resume

12. Making a Website Responsive


Introduction: Making a Website Responsive
See what you’ll be learning in the Making a Website Responsive Unit

InfoIntroduction: Making a Website Responsive

Resume

Learn Responsive Design


Learn responsive design techniques, like relative sizing units and media queries, to create
websites viewable on devices of all sizes.

Cheatsheet
|
Practice Pack

ArticleResponsive Web Design

LessonSizing Elements

QuizSizing Elements
LessonMedia Queries

QuizMedia Queries Quiz

ArticleSimulate Different Screen Sizes with Device Mode in Chrome DevTools

ProjectTsunami Coffee

ArticleYou Don't Need a Framework: Understanding the Fundamentals of Responsive Design

Resume

Layout with Flexbox


Learn CSS Flexbox to create flexible page layouts.

Cheatsheet
|
Practice Pack

LessonFlexbox

QuizFlexbox

ProjectFlexbox: To-Do App

ProjectTea Cozy

Resume

Learn CSS: Documentation and Debugging


Learn how to look up things that you don’t know in official documentation so that you can solve
problems independently!

LessonDocumentation and Research

DocsCSS Documentation
InfoProject: Fotomatic

InfoFotomatic Solution

Resume

Learn Responsive Design: Grids and Spacing


Learn how designers use grids to create flexible page layouts.

LessonGrids and Spacing

QuizGrids And Spacing Quiz 1

Resume

Learn CSS: Grid


Learn CSS Grid to create flexible page layouts.

Cheatsheet
|
Practice Pack

LessonGrid Essentials

QuizGrid

LessonAdvanced CSS Grid

QuizGrid

ArticleA Complete Guide to CSS Grid

ArticleThings I've Learned About CSS Grid Layout

ProjectPupSpa
ProjectCSS Grid: Task Board

ProjectCSS Grid: Architecture Blog

Resume

Company Home Page


Test your flexbox knowledge with this challenge project.

ProjectCompany Home Page with Flexbox

Resume

Responsive Club Website


Test your responsive web design knowledge with this challenge project.

ProjectResponsive Club Website

Resume

Review: Making a Website Responsive


Review what you just learned in the Making a Website Responsive Unit

InfoReview: Making a Website Responsive

Resume

13. Making a Website Accessible


Introduction: Making a Website Accessible
See what’s covered in the Making a Website Accessible unit.

InfoIntroduction: Making a Website Accessible

Resume

Learn Web Accessibility


Learn simple changes you can make to ensure that your website is accessible and usable to
everyone.

ArticleAccessibility (a11y)
ArticleWhat is Digital Accessibility?

LessonAccessible Design

LessonAccessibility

QuizAccessibility Quiz 1

ArticleSetting Up and Using Screen Readers

ArticleThe A11y Project Checklist

ArticleCSS and JavaScript Accessibility Best Practices

Resume

Review: Making a Website Accessible


Review what was covered in the Making a Website Accessible unit.

InfoReview: Making a Website Accessible

Resume

14. HTML, CSS, and JS Portfolio Project


Personal Portfolio Website
Bring together what you have learned in the previous lessons and build a project off of
Codecademy.

PortfolioPortfolio Website

Resume

15. JavaScript Syntax, Part III


Introduction: JavaScript Syntax, Part III
See what’s covered in the JavaScript, Part III unit.

InfoIntroduction: JavaScript Syntax, Part III


Resume

Learn JavaScript Syntax: Classes


Learn how to create classes and use inheritance to minimize redundancy in your code.

Cheatsheet
|
Practice Pack

LessonClasses

QuizClasses

ProjectBuild a Library

ProjectSchool Catalogue

ArticleUnderstanding Classes in JavaScript

DocsReference: Classes

Resume

Learn JavaScript Syntax: Modules


Learn how to use JavaScript modules, a way to define and utilize reusable logic in your
programs.

ArticleIntroduction to JavaScript Runtime Environments

ArticleImplementing Modules in Node

ArticleImplementing Modules using ES6 Syntax

QuizModules
DocsJavaScript Modules

ArticleWhat are CJS, AMD, UMD, and ESM in JavaScript?

ProjectWorkAround Explorer

ProjectMessage Mixer

Resume

Learn JavaScript Syntax: Error Handling


Learn how to address errors in this course all about JavaScript errors!

Cheatsheet
|
Practice Pack

LessonLearn JavaScript: Error Handling

QuizError Handling

ReadingJavaScript & JQuery, Chapter 10

Resume

Pair-Programming: JavaScript Syntax, Part III


You can learn a lot on your own, but you can learn even more when you collaborate with others!

InfoPair-Programming: JavaScript Syntax, Part III

Resume

Practice JavaScript Syntax: Classes


Practice what you’ve learned with JavaScript syntax.

ArticleJavaScript Practice: Classes

Resume

Find Your Hat


Test your JavaScript knowledge with this challenge project.

Cheatsheet

ProjectFind Your Hat

Resume

Review: JavaScript Syntax, Part III


Review what was covered in the JavaScript Syntax, Part III.

InfoReview: JavaScript Syntax, Part III

Resume

16. Test Driven Development with JavaScript


Introduction: TDD Fundamentals
See what’s covered in the TDD Fundamentals unit.

InfoIntroduction: TDD Fundamentals

Resume

Why Test?
Learn about testing and how it can help you write more robust, maintainable code.

LessonWhy Test?

ArticleTest-Driven Development

ArticleUnit Testing

ArticleIntegration Testing

ArticleIntroduction to Test-Driven Development

QuizWhy Test?
ProjectCake O'Clock

Resume

Write Good Tests with Mocha


Learn to use the Mocha framework and the Node.js assert library to write, automate, and
organize tests in Javascript.

LessonAutomate and Organize Tests

LessonWrite Expressive Tests

ProjectRooster Regulation

QuizLearn Mocha

Resume

Learn TDD with Mocha


Learn test-driven development with Mocha.

LessonLearn TDD With Mocha

DocsMocha Documentation

DocsChai Documentation

QuizTDD With Mocha

ProjectFactorial Feature

Resume

Review: TDD Fundamentals


Review what was covered in the TDD Fundamentals unit.

InfoReview: TDD Fundamentals


Resume

17. Async JavaScript and HTTP Requests


Introduction: Async JavaScript and HTTP Requests
See what you’ll be learning in the Async JavaScript and HTTP Requests Unit

InfoIntroduction: Async JavaScript and HTTP Requests

Resume

Basics of Asynchronous JavaScript


Learn about the general programming concepts behind asynchronous JavaScript.

ArticleGeneral Asynchronous Programming Concepts

ArticleIntroducing Asynchronous JavaScript

ArticleCooperative Asynchronous JavaScript: Timeouts and Intervals

Resume

Learn JavaScript Syntax: Promises


Learn how to write asynchronous JavaScript with the Promises Syntax.

Cheatsheet
|
Practice Pack

LessonJavaScript Promises

QuizJavaScript Promises

ArticleGraceful Asynchronous Programming with Promises

ArticleJavaScript Promises for Dummies

Resume
Learn JavaScript Syntax: Async-Await
Learn about asynchronous programming and leverage promises in JavaScript.

Cheatsheet
|
Practice Pack

LessonAsync Await

QuizAsync Await

ArticleMaking Asynchronous Programming Easier with async and await

ArticleChoosing the Right Approach

Resume

APIs and HTTP Requests


Learn about the basics of HTTP requests, what an API is, and JSON data.

ArticleHTTP Requests

ArticleAn Overview of HTTP

VideoWhat is an API?

ArticleIntroduction to Web APIs

ArticleWhat Is JSON?

ArticleWorking with JSON in JavaScript

Resume

Learn JavaScript: Requests


Learn the benefits of asynchronous JavaScript properties and create calls to various APIs.
Cheatsheet
|
Practice Pack

LessonRequests I

QuizJavaScript Requests Quiz I

LessonRequests II

QuizJavaScript Requests Quiz II

ReadingJavaScript & JQuery, Chapter 8

ArticleFetching Data from the Server

ArticleUsing Fetch

ArticleThird-Party APIs

ProjectWanderlust

Resume

Review: Async JavaScript and HTTP Requests


Review what you just learned in the Async JavaScript and HTTP Requests Unit

InfoReview: Async JavaScript and HTTP Requests

Resume

18. Web Apps


Introduction: Web Apps
See what’s covered in the Web Apps unit.
InfoIntroduction: Web Apps

Resume

What is a Web App?


Learn about what web apps are and how they differ from static web sites.

ArticleWhat is a Web App?

ArticleWhat is a SPA?

ArticlePoll Results: "Sites" vs "Apps"

Resume

Review: Web Apps


Review what was covered in the Web Apps unit.

InfoReview: Web Apps

Resume

19. React, Part I


Introduction: React, Part I
See what’s covered in the React, Part I unit.

InfoIntroduction: React, Part I

Resume

Review: ES6 Syntax


Review ES6 syntax to prepare for working in React.

ArticleA Re-Introduction to JavaScript

ArticleDestructuring with JavaScript

Resume

Review: Functional JavaScript


Review functional programming concepts to prepare for working in React.
ArticleIntroduction to Functional JavaScript

Resume

Introduction to React.js
Learn about the React.js library and get an overview of its basic functionality.

TutorialIntro to React

TutorialThinking in React

Resume

The Virtual DOM


Learn about what the Virtual DOM is and how it helps make React apps more efficient.

VideoThe Virtual DOM

ArticleReact: The Virtual DOM

ArticleWhat the Fork is the React Virtual DOM

Resume

JSX
Learn to use JSX, the basic syntax of React.js

Cheatsheet
|
Practice Pack

LessonIntro to JSX

LessonAdvanced JSX

QuizJSX

ProjectAnimal Fun Facts


Resume

React Components
Learn to make React Components, the building blocks of all React.js applications.

Cheatsheet
|
Practice Pack

LessonYour First React Component

LessonComponents and Advanced JSX

QuizReact Components

ProjectAuthorization Form

ArticleCreating a React App

DocsCreate React App

Resume

Review: React, Part I


Review what was covered in the React, Part I unit.

InfoReview: React, Part I

Resume

20. React, Part II


Introduction: React, Part II
See what you’ll be learning in the React, Part II Unit

InfoIntroduction: React, Part II

Resume
Components and Props
Learn how to make React components interact with one another with props.

Cheatsheet
|
Practice Pack

LessonComponents Render Other Components

Lessonthis.props

Resume

React State
Learn how to make React components interact with one another with state.

Cheatsheet
|
Practice Pack

Lessonthis.state

QuizComponents Interacting

ProjectRandom Color Picker

Resume

React Development Tools


Learn how to debug your react app with react dev tools.

InfoReact Developer Tools

ResourceReact DevTools

TutorialDebugging React in VS Code

Resume
Stateless Components from Stateful Components
Learn React programming patterns for mixing components with and without state.

Cheatsheet
|
Practice Pack

LessonStateless Components From Stateful Components

LessonChild Components Update Their Parents' state

LessonChild Components Update Their Siblings' props

QuizStateful and Stateless Programming Patterns

ProjectVideo Player

Resume

Lifecycle Methods
Hook actions to specific moments in a component’s life.

Cheatsheet
|
Practice Pack

LessonComponent Lifecycle Methods

ProjectSocial Network for Pets

QuizLifecycle Quiz

Resume

Jammming
Test your React knowledge with this challenge project.
ProjectJammming

ProjectFeature Request: Jammming

Resume

Deploy a React Application With Netlify


Learn how to create and deploy a React application using the Create React App command-line
tool and Netlify

Cheatsheet

ArticleGetting Started with Netlify

ArticleDeploying a Static Site with Netlify

ArticleCreate and Share a React App on GitHub

InfoDeploy Your React App to Netlify

Resume

Function Components and Hooks


Learn how to use Hooks in React, a powerful feature of function components.

Cheatsheet
|
Practice Pack

LessonFunction Components

LessonThe State Hook

LessonThe Effect Hook

ProjectPassing Thoughts
QuizReact Hooks

Resume

Code Review: React


You can learn a lot on your own, but you can learn even more when you collaborate with others!

InfoCode Review: React

Resume

Advanced React
Learn the most essential remaining React fundamentals.

Cheatsheet
|
Practice Pack

LessonStyle

LessonContainer Components From Presentational Components

LessonPropTypes

LessonReact Forms

ProjectCopycat

QuizAdvanced React

Resume

React Router
Learn how to use the popular React Router library to easily create navigation components

DocsA Simple React Router v4 Tutorial

ArticleReact Router Tutorial | React For Beginners


DocsReact Router

Resume

Learn React Testing with Jest


Learn to use the Jest framework to write, automate, and organize tests for React code.

ArticleGetting Started with Jest for JavaScript Testing

DocsTesting React Apps with Jest

DocsEnzyme

ArticleUnit Testing React Applications with Jest and Enzyme

TutorialAdvanced Testing with React and Jest

ArticleTesting in React: Best Practices, Tips, and Tricks

Resume

Code Review: React


You can learn a lot on your own, but you can learn even more when you collaborate with others!

InfoCode Review: React

Resume

Appointment Planner
Demonstrate your new skills by building an application using React!

ProjectAppointment Planner

Resume

Review: React, Part II


Review what you just learned in the React, Part II Unit

InfoReview: React, Part II


Resume

21. Redux
Introduction: Redux
See what’s covered in the Redux unit.

InfoIntroduction: Redux

Resume

Core Concepts in Redux


Learn the concepts underlying all Redux applications, including reducers, state, actions, and the
store.

LessonCore Concepts in Redux

ProjectRedux Road

QuizRedux Core Concepts Quiz

Resume

Core Redux API


Learn how to implement Redux state-management into your application by learning the core
methods of the Redux API.

Cheatsheet
|
Practice Pack

LessonIntro to the Core Redux API

LessonStrategies for Complex State

QuizRedux API Quiz

ProjectCodecademy Store
ArticleImplementing the Redux Store from Scratch

Resume

Connect to React with React Redux


Learn to access the Redux store to retrieve data and dispatch actions througout your applications
using the react-redux package.

Cheatsheet
|
Practice Pack

LessonThe React Redux Library

QuizReact Redux Quiz

ProjectMatching Memory

Resume

Refactoring with Redux Toolkit


Improve your code with Redux Toolkit, an essential package for any Redux application.

Cheatsheet
|
Practice Pack

LessonThe Redux Toolkit

QuizRedux Toolkit Quiz

ProjectExpense Tracker

VideoRedux DevTools

Resume
Async Actions with Middleware and Thunks
Create Redux middleware and thunks to handle asynchronous actions

Cheatsheet

LessonRedux Middleware

LessonManaging Promise Lifecycle Actions

QuizAsync Middleware Quiz

ProjectRedux News Reader

Resume

Testing Redux
Learn to use the Jest framework to write tests for Redux code.

ArticleWriting Tests in Redux

ArticleTesting Redux for Real Life Apps

ArticleTesting Strategies for React and Redux

TutorialTesting React-Redux Connected Components

TutorialHow to Test Redux

ArticleReact-Redux Testing Best Practices

Resume

Code Review: Redux


You can learn a lot on your own, but you can learn even more when you collaborate with others!

InfoCode Review: Redux


Resume

Flashcards
Test your Redux knowledge with this challenge project.

ProjectFlashcards

Resume

Review: Redux
Review what was covered in the Redux unit.

InfoReview: Redux

Resume

22. Git and GitHub, Part II


Introduction: Git and Github, Part II
See what you’ll be learning in the Git and GitHub, Part II Unit

InfoIntroduction: Git and GitHub, Part II

Resume

Git Branching
Learn How to Manage Multiple Versions of a Project with Branching

Cheatsheet

LessonGit Branching

ProjectBirthday Party

ProjectRuby Time Calculator

QuizGit Branching

Resume

Git Teamwork
An introduction to Git collaborations with remotes, pulling and pushing

Cheatsheet

LessonGit Teamwork

ProjectJavaScript Homework

ProjectRecipe Book

QuizGit Teamwork

Resume

Collaborating with GitHub


Learn how to use Git and GitHub to collaborate on software projects, including open source
codebases.

ArticleForking - GitHub & Git Foundations

ArticlePull Requests - Github & Git Foundations

ArticleRebase - GitHub & Git Foundations

TutorialMerge Conflicts

ArticleHow to Contribute to Open Source

Resume

Project Management and Workflows on GitHub


Learn how to integrate different GitHub features in order to enhance your project management
and workflows.

DocsGitHub Features - Project Management

ArticleWebcast - GitHub for Project Management


ArticleHow to Use GitHub for Agile Management

ArticleAn Introduction to Continuous Integration & GitHub Actions for Julia

Resume

Review: Git and GitHub, Part II


Review what you just learned in the Git and GitHub, Part II Unit

InfoReview: Git and GitHub, Part II

Resume

23. React and Redux Portfolio Project


Group Project: React/Redux
You can learn a lot on your own, but you can learn even more when you collaborate with others!

InfoGroup Project: React/Redux

Resume

Reddit Client
Bring together what you have learned in the previous lessons and build a project off of
Codecademy.

PortfolioReddit Client

Resume

24. Basics of Back-End Development


Introduction: Basics of Back-End Development
Intro informational for Basics of Back-End Development module.

InfoIntroduction: Basics of Back-End Development

Resume

What is a Back-End?
Learn the basics of what a back-end is.
VideoWhat is Back-End?

LessonWhat is the Back-end?

ArticleWeb Architecture 101

Resume

What is a Server?
Learn about servers, the underpinning architecture of back-ends.

ResourceServer

ArticleWhat is a web server?

ArticleIntroduction to the server side

ArticleClient-Server Overview

Resume

Introduction to RESTful APIs


Learn about the concept of a REST API.

ArticleREST API concepts and examples

ArticleWhat is REST?

ArticleREST Resource Naming Guide

Resume

Review: Basics of Back-End Development


Review informational for Basics of Back-End Development module.

InfoReview: Basics of Back-End Development

Resume
25. Build a Back-End with Node/Express.js
Introduction: Build a Back-End with Node/Express.js
Intro informational for Build a Back-End with Node/Express.js module.

InfoIntroduction: Build a Back-End with Node/Express.js

Resume

Learn Node.js
Explore the Node.js JavaScript runtime environment.

Cheatsheet
|
Practice Pack

LessonLearn Node.js

TutorialThe only NodeJs introduction you'll ever need

DocsNode.js

Resourcelearnyounode

QuizIntro to Node.js

Resume

Introduction to Express
Learn about and install the popular Express framework.

ArticleServer-side web frameworks

ArticleExpress/Node introduction

TutorialSetting up a Node development environment


DocsExpress

Resume

Learn Express: Routes


Build an Application Programming Interface (API) in JavaScript using the popular Express
framework.

LessonLearn Express Routes

LessonLearn Express Routers

DocsExpress - Routing

ArticleSetting Up Postman

TutorialHow to Make API Requests with Postman or cURL

LessonExpress Routes Code Challenges

QuizExpress Routes Quiz

Resume

Challenge Project: Quote API


Use your knowledge of Express.js to build a small JSON API to serve up famous and interesting
quotes about technology.

ProjectQuote API

Resume

Learn Express: Middleware


Learn about how to use Express middleware to improve your API’s code quality and readability

ArticleWhat is Middleware? A simple explanation.

LessonMiddleware
LessonRouter Parameters

ArticleWhat is CORS?

DocsWriting Express Middlewares

DocsUsing Express Middlewares

DocsExpress Error Handling

LessonExpress Middleware Code Challenges

QuizMiddleware Quiz

Resume

Documenting APIs with Swagger


Learn how to document your APIs using Swagger with Node and Express.

ArticleAdding Swagger to Node Projects

TutorialYAML Tutorial

TutorialAPI Development in Node.js with Swagger

TutorialSwagger and NodeJS

Resume

API Project: Boss Machine


Create an entire API to serve information to a Boss Machine, a unique management application
for today’s most accomplished entrepreneurs.

InfoCumulative Project: Boss Machine


InfoCumulative Project: Boss Machine Solution

Resume

Review: Build a Back-End with Node/Express.js


Review informational for Build a Back-End with Node/Express.js module.

InfoReview: Node/Express.js

Resume

26. Back-End and Feature Testing


Introduction: Back-End and Feature Testing
Intro informational for Back-End and Feature Testing module.

InfoIntroduction: Back-End and Feature Testing

Resume

Outside-in TDD
Learn about the different layers of the testing pyramid in full-stack web applications.

ArticleThe Testing Pyramid

ArticleOutside-In Test-Driven Development

Resume

Learn Feature Testing with TDD


Learn feature development for a full-stack web application by writing JavaScript tests that use
headless browsing to simulate user interacti

ArticleIntroduction to headless browser testing

LessonTDD Feature-Level Tests

ProjectQuote Keeper

DocsPhantomJS
QuizTDD Feature-Level Tests

Resume

Learn Server Testing with TDD


Learn to use test-driven development to create a JavaScript server using the Express framework.

LessonServer Testing Stack

Docsjsdom

TutorialAPI testing using SuperTest

DocsSuperTest

QuizServer Testing Stack

LessonServer Testing Patterns

QuizServer Testing Patterns

ProjectQuote Keeper: Server Layer

Resume

Review: Back-End and Feature Testing


Review informational for Back-End and Feature Testing module.

InfoReview: Back-End and Feature Testing

Resume

27. SQL for Back-End Development


Introduction: SQL for Back-End Development
Intro informational for SQL for Back-End Development module.
InfoIntroduction: SQL for Back-End Development

Resume

Introduction to SQL and Relational Databases in Web Development


What is SQL and why is it used in web development?

ArticleWhat is a Relational Database Management System?

ArticlePostgreSQL: What is SQL And Relational Database

Resume

SQL: Creating, Updating, and Deleting Data


Learn how to create new SQL tables, insert new rows, and update or delete existing data.

Cheatsheet
|
Practice Pack

LessonManipulation

ProjectCreate a Table

QuizManipulation

LessonPostgreSQL Constraints

ProjectBuilding an Inventory Database with PostgreSQL

QuizPostgreSQL Constraints

Resume

SQL Queries
Learn how to customize SQL queries to retrieve specific, ordered data from a database.

Cheatsheet
|
Practice Pack

LessonQueries

ArticleSQL queries don't start with SELECT

LessonQueries Challenge

ProjectNew York Restaurants

QuizQueries

Resume

Performing SQL Calculations


Learn to use SQL Aggregate Functions to perform calculations on result sets.

Cheatsheet
|
Practice Pack

LessonAggregate Functions

ProjectTrends in Startups

LessonAggregate Functions Challenge

QuizAggregate Functions

Resume

Working with Multiple SQL Tables


Learn how to work with SQL data from multiple tables in the same query.

Cheatsheet
|
Practice Pack
LessonMultiple Tables

TutorialWriting Subqueries in SQL

LessonMultiple Tables Challenge

ProjectLyft Trip Data

QuizMultiple Tables

Resume

Pair-Programming: SQL Syntax


You can learn a lot on your own, but you can learn even more when you collaborate with others!

InfoPair-Programming: SQL Syntax

Resume

Practice SQL Syntax


Practice what you’ve learned with SQL Syntax

ResourceSQL Exercises

ResourceSQLZOO

Resume

Review: SQL for Back-End Development


Review informational for SQL for Back-End Development module.

InfoReview: SQL for Back-End Development

Resume

28. PostgreSQL Database


Introduction: PostgreSQL Database
Intro informational for PostgreSQL Database module.

InfoIntroduction: PostgreSQL Database

Resume

Introduction to Databases
Databases store data and can be updated with new information.

ResourceDatabase

ArticleWhat Is a Database?

ArticleWhat is CRUD?

Resume

Introduction to PostgreSQL
Learn about PosgreSQL, a popular, open-source database.

ArticlePostgreSQL: What is PostgreSQL AKA Postgres

ArticleSQLite vs MySQL vs PostgreSQL

Resume

Setting up PostgreSQL
Install PostgreSQL in order to work with database files on your own computer.

ArticleInstalling and Using PostgreSQL Locally

ResourcePostgres.app

ResourcepgAdmin

InfoOff Platform Project: Making a Database of Movies

Resume

PostgreSQL Basics
Learn how to create and modify databases, tables, and add data in Postgres.

TutorialGetting Started (Official Postgres Tutorial)

DocsPostgreSQL

ResourcePostgreSQL Exercises

Resume

Review: PostgreSQL Database


Review informational for PostgreSQL Database module.

InfoReview: PostgreSQL Database

Resume

29. Designing Relational Databases


Introduction: Designing Relational Databases
Intro informational for Designing Relational Databases module.

InfoIntroduction: Designing Relational Databases

Resume

Introduction to Database Design


Get a high-level understanding of database design, why database integrity is important, and
common terms.

ArticleRelational Database Schema Design Overview

Article10 Best Database Design Practices

ResourceData Integrity

ArticleAtomic Values

Resume
Designing a Database
Learn about the different types of database relations, including one to one, one to many, and
many to many and how to use them in your datab

Cheatsheet
|
Practice Pack

LessonWhat Is A Database Schema?

LessonWhat Are Database Keys?

LessonWhat Are Database Relationships?

ArticleDesign pattern: many-to-many

ProjectBuild A Menu For Bytes Of China

QuizDatabase Schemas, Keys, and Relationships

Resume

Designing A Database Schema Off Platform Project


Use your knowledge about schemas to build a database from scratch on your own computer!

InfoOff Platform Project: Designing a Database From Scratch

Resume

Entity Relationship Diagrams


Learn how to design entity relationship diagrams (ERD).

ArticleWhat is Entity Relationship Diagram (ERD)?

ArticleEntity Relationship Diagram (ERD) Tutorial - Part 1

ArticleEntity Relationship Diagram (ERD) Tutorial - Part 2


ResourceERDPlus

Resume

Database Normalization
Learn how to structure a relational database in order to reduce data redundancy and data
integrity.

Cheatsheet
|
Practice Pack

ResourceDatabase normalization

LessonDatabase Normalization with PostgreSQL

ArticleDatabase Normalization Basics

QuizDatabase Normalization

ProjectDatabase Normalization at Fred's Furniture

Resume

Review: Designing Relational Databases


Review informational for Designing Relational Databases module.

InfoReview: Designing Relational Databases

Resume

30. Advanced PostgreSQL


Introduction: Advanced PostgreSQL
Intro informational for Advanced PostgreSQL module.

InfoIntroduction: Advanced PostgreSQL

Resume
ACID
Learn about the database principle of ACID.

ResourceACID

ArticleACID Properties in DBMS

ArticleACID versus BASE Data Stores

Resume

Postgres Database Performance


Learn the basics of database performance in Postgres.

Cheatsheet
|
Practice Pack

LessonIntroduction To Indexes

ProjectBook Store Indexes

QuizIntroduction To Indexes

LessonIntermediate Indexes

ArticleUnderstanding Postgres Performance

ArticleMore on Postgres Performance

ArticleHow To Improve Postgres Performance: Our Tips and Tricks

ProjectIntermediate Book Store Indexes


QuizIntermediate Indexes

Resume

Postgres Database Tuning and Benchmarking


Learn about database tuning and how to fine tune your queries as well as database benchmarking
and how it relates to tracking performance.

ResourceDatabase tuning

ArticleSupercharge Your SQL Queries for Production Databases

ResourceBenchmark

ArticleHow to Benchmark PostgreSQL Performance

DocsPostgreSQL - pgbench

Resume

Database Maintenace and Monitoring Software


Track database performance and maintain a database using built-in tools with pgAdmin or
external tools like pgbadger.

ArticleKey Things to Monitor in PostgreSQL

ResourcepgBadger

ArticlePostgreSQL Log Analysis With pgBadger

ResourcePerformance Analysis Tools

Resume

Review: Advanced PostgreSQL


Review informational for Advanced PostgreSQL module.

InfoReview: Advanced PostgreSQL


Resume

31. Back-End Portfolio Project


Group Project: Back-End
You can learn a lot on your own, but you can learn even more when you collaborate with others!

InfoGroup Project: Back-End

Resume

E-Commerce App (REST API)


Build an e-commerce REST API using Node/Express and PostgreSQL.

PortfolioE-Commerce App (REST API)

Resume

32. Connecting Front-End to Back-End


Introduction: Connecting Front-End to Back-End
See what you’ll be learning in the Connecting Front-End to Back-End Unit.

InfoIntroduction: Connecting Front-End to Back-End

Resume

Client-Side Rendering
Learn about client-side rendering, when HTML content is created by JavaScript.

ArticleHow Does the Frontend Communicate with the Backend?

ArticleWhat is Client-side Rendering?

ArticlePros and Cons of Client-Side Rendering

ArticleThe Drawback of Client Side Rendering

ArticleWay to organize REST API endpoints in a React project


Resume

Server-Side Rendering
Learn about server-side rendering, for dynamic page loading.

ArticleWhat's Server Side Rendering and do I need it?

ArticleWhat is Server-Side Rendering?

ArticleServer Side Rendering pros and cons

TutorialHow to Enable Server-Side Rendering for a React App

Resume

How to Structure Your Apps


Learn about best practices for project architecture and file structures.

ArticleMVC: Model, View, Controller

ArticleMVC Architecture in 5 minutes

ArticleBulletproof node.js project architecture

ResourceExpress application generator

ResourceReact - File Structure

ArticleReact Folder Structure in 5 Steps

ResourceCreate a New React App

Resume

Server-Side API Calls to External APIs


Learn how to make calls to external APIs from the server.
TutorialConsume Remote API Data From Within A Node.js Application

TutorialHow to use an API with Node.js

ArticleShould Your Browser Make Client-Side Web API Calls?

ArticleKeeping credentials secure when making API calls with JavaScript

Resume

The Server Can Do More: Server-Side Use Cases


Learn about various ways the back-end can be used to elevate your applications.

TutorialBuild a Node.js HTTP Proxy Server in Under 10 minutes

TutorialHow to Send Emails with Node.js

TutorialHow to listen for webhooks with Node.js and Express

TutorialNode.js Cron Jobs by Examples

TutorialIntroduction to Stripe Payments in Node.js Using Express

Resume

Review: Connecting Front-End to Back-End


Review what you just learned in the Connecting Front-End to Back-End Unit

InfoReview: Connecting Front-End to Back-End

Resume

33. Adding a PostgreSQL Database


Introduction: Adding a PostgreSQL Database
See what you’ll be learning in the Adding a PostgreSQL Database Unit.

InfoIntroduction: Adding a PostgreSQL Database


Resume

PostgreSQL with Node and Express


Learn how to interact with a SQL database from within your JavaScript programs using
PostgreSQL

TutorialHow to set up a RESTful API with Node.js and PostgreSQL

TutorialHow to Build Your Own Blog Using Express, Hooks, & Postgres

Docsnode-postgres

ResourceSuggested Project Structure

Resume

Deploying a PERN App to Heroku


Learn how to deploy a full-stack application using Heroku.

TutorialBuild a Node.js, Express, & PostgreSQL REST API

DocsHeroku - Postgres Basics

DocsHeroku - Connecting in Node.js

Resume

Using an ORM with Sequelize


Learn how to use the Sequelize ORM to add a layer of abstraction to your application.

ArticleWhat is an ORM and Why You Should Use it

TutorialNode.js, Express.js, Sequelize.js and PostgreSQL RESTful API

DocsSequelize

Resume
Query Builders and Data Seeding
Learn how to use a query builder like Knex.js and how to use Faker.js to seed your database or
use free database resources like Mockaroo to

TutorialSeeding your Database with Thousands of Users using Knex.js and Faker.js

DocsKnex.js

TutorialMockaroo - An easy way to generate millions of test data

ResourceMockaroo

Resume

Review: Adding a PostgreSQL Database


Review what you just learned in the Adding a PostgreSQL Database Unit

InfoReview: Adding a PostgreSQL Database

Resume

34. Security, Authentication, and Authorization


Introduction: Security, Authentication, and Authorization
See what you’ll be learning in the Security, Authentication, and Authorization Unit.

InfoIntroduction: Security, Authentication, and Authorization

Resume

Introduction to Web Security


Learn about the basic ideas of adding security features to a web application.

ResourceWeb application security

ArticleWebsite security

ArticleThe Basics of Web Application Security

Resume
Introduction to Authentication/Authorization
Learn about the different usages of authentication and authorization and how they protect
applications in complimentary ways.

ResourceAuthentication and Authorization

ArticleRESTful API Authentication Basics

DocsMDN - HTTP authentication

TutorialNodeJS - Basic Authentication Tutorial with Example API

Resume

OAuth 2.0
Learn how to incorporate the OAuth2.0 protocol in your application to secure access to your
data.

ArticleWhat is OAuth? Definition and How it Works

ArticleOAuth2 Overview

TutorialImplementing OAuth 2.0 in Node.js

Resume

Passport.js
Learn how to use the popular middleware library Passport.js for authentication purposes.

TutorialNode Authentication with Passport & Postgres

DocsPassport.js

ArticleOAuth Login (Passport.js) Tutorial

Article6 JavaScript User Authentication Libraries for 2019


Resume

Authentication/Authorization in Postgres
Learn how to implement authentication and authorization techniques in a PostgreSQL database.

TutorialPostgreSQL security: a quick look at authentication best practices

DocsPostgreSQL - Client Authentication

ArticleHow to Secure Your PostgreSQL Database

Resume

Roles in Postgres
Learn how to leverage roles to set permissions for advanced access control and database security.

ResourceRole-based access control

DocsPostgreSQL - Database Roles

ArticleWhat is Role-Based Access Control (RBAC)?

ArticlePostgreSQL Privileges & User Management

TutorialLearn how to manage security in PostgreSQL

Resume

Sessions & Cookies


Learn how to use cookies to store data in the browser.

ResourceHTTP cookie

ArticleWeb security essentials - Sessions and cookies

ArticleJavaScript Cookies vs Local Storage vs Session


ArticleSession Authentication in Express

TutorialSessions in Node.js

Resume

JWTs
Learn how to use JSON Web Tokens (JWT) for authentication.

ResourceJSON Web Token

ArticleWhat Is JWT and Why Should You Use JWT

TutorialJSON Web Tokens (JWTs) in Express.js

ArticleNode.JS REST API Auth using JWTs

ArticleWhere to Store your JWTs - Cookies vs HTML5 Web Storage

Resume

Protecting Data in Transit


Learn about the SSL (Secure Sockets Layer) and TLS (Transport Layer Security) protocols for
establishing authenticated and encrypted links.

ResourceTransport Layer Security

ArticleWhat is SSL?

ArticleWhy is SSL Important?

ResourceHeroku SSL

Resume

Protecting Data at Rest


Find out about the hashing process, including how to protect against password attacks.
ArticleHashing vs. Encryption vs. Encoding vs. Obfuscation

ArticleAdding Salt to Hashing

TutorialUsing Bcrypt to Hash & Check Passwords in NodeJS

Resume

Secure Collaborative Development


Protect your API keys with environment variables when sharing your code.

ArticleManaging Environment Variables in Node.js with dotenv

Docsdotenv

ArticleHiding API Keys with Environment Variables (dotenv) and Pushing Code to GitHub

DocsGitHub - Permission levels for a user account repository

Resume

Browser Security
Learn about the cross-origin resource sharing (CORS) policy and how to handle it in Express.

ArticleWhat is CORS?

DocsMDN - Same-origin policy

DocsMDN - Cross-Origin Resource Sharing (CORS)

TutorialHandling CORS in Express

Resume

Cross-Site Request Forgery (CSRF)


Learn about Cross-site request forgery (CSRF) attacks and how to prevent them.

ResourceCross-site request forgery


ArticleCross-site Request Forgery (CSRF)

ArticleCSRF Tutorial

ArticleProtecting against CSRF attacks in Node

Resume

Cross-Site Scripting (XSS)


Learn about cross site scripting (XSS) attacks and how to protect against them.

ResourceCross-site scripting

ArticleWhat is Cross-Site Scripting (XSS)

ArticleCross-site scripting

ArticleHacking Websites With Cross-Site Scripting (XSS Attack Basics)

ArticleRunning a XSS Attack + How to defend

ResourceSanitize HTML

Resume

SQL Injection
Learn about SQL injection attacks and how to protect against them.

ResourceSQL injection

ArticleWhat is SQL Injection?

ArticleProtecting Against SQL Injection

ArticleRunning an SQL Injection Attack


ArticleSql Injection Explained by Example with Express and PostgreSQL

Resume

Data Validation & Sanitization


Sanitize your form inputs so that hackers aren’t able to attack your site with malicious data.

ResourceData validation

ArticleSanitizing Data

ArticleSanitize Your Inputs?

TutorialHow to Escape/Sanitise Untrusted Data/Params in SQL Queries to avoid SQL Injection


in node.js

Resume

Review: Security, Authentication, and Authorization


Review what you just learned in the Security, Authentication, and Authorization Unit

InfoReview: Security, Authentication, and Authorization

Resume

35. Advanced Concepts in TDD


Introduction: Advanced Concepts in TDD
See what’s covered in the Advanced Concepts in TDD unit.

InfoIntroduction: Advanced Concepts in TDD

Resume

Advanced Testing: Mocking


Learn about more advanced tools and concepts for creating fast, reliable tests for your web apps.

ArticleWhat is Test Coverage?


ArticleMocking, Stubbing, and Contract Testing

DocsJest Mock Functions Documentation

ArticleWriting Tests for React Applications Using Jest and Enzyme

Resume

Advanced Testing: Browser Automation


Learn how to leverage Selenium to test using emulated user behavior.

DocsSelenium Documentation

ArticleAutomating Functional Testing using Selenium

ArticleSetting up Your Own Test Automation Environment

Resume

Review: Advanced Concepts in TDD


Review what was covered in the Advanced Concepts in TDD unit.

InfoReview: Advanced Concepts in TDD

Resume

36. Full-Stack Portfolio Project


Group Project: Full-Stack
You can learn a lot on your own, but you can learn even more when you collaborate with others!

InfoGroup Project: Full-Stack

Resume

E-Commerce App (Client)


Expand the e-commerce REST API with a React client app, creating a full-stack e-commerce
experience.

PortfolioE-Commerce App (Client)


Resume

37. What To Expect in a Technical Interview


Introduction: What to Expect in a Technical Interview
See what’s covered in the What to Expect in a Technical Interview unit.

InfoIntroduction: What to Expect in a Technical Interview

Resume

Intro to Tech Interviews


An introduction to technical interviews

ArticleA Beginner’s Guide to the Technical Interview

ArticleTechnical Interview Tips

ArticleThe Essential Guide to Take Home Coding Challenges

ArticleHow to Prepare for Technical Interviews

Resume

Review: What to Expect in a Technical Interview


Review what was covered in the What to Expect in a Technical Interview unit.

InfoReview: What to Expect in a Technical Interview

Resume

38. Linear Data Structures


Introduction: Linear Data Structures
See what’s covered in the Linear Data Structures unit.

InfoIntroduction: Linear Data Structures

Resume

Intro to Data Structures


Get started with an overview of the how and why of data structures.

ArticleWhy Data Structures?

ArticleData Structure APIs

Resume

Nodes
Learn about nodes, the building-block data structure.

Cheatsheet
|
Practice Pack

InfoNodes

LessonNodes: Conceptual

QuizNodes: Conceptual

LessonNodes: JavaScript

QuizNodes: JavaScript

Resume

Singly Linked Lists


Learn the basics of singly linked lists and how to build them in JavaScript.

Cheatsheet
|
Practice Pack

InfoLinked Lists

LessonLinked Lists: Conceptual


QuizLinked Lists: Conceptual

LessonLearn Linked Lists: JavaScript

QuizLearn Linked Lists: JavaScript

VideoVideo: Singly Linked Lists

InfoInteractive: Singly Linked Lists

InfoGithub Cheat Sheet: Singly Linked Lists

ArticleSwapping Elements in a Linked List

ArticleTwo-Pointer Linked List Techniques

InfoPractice: Singly Linked Lists

Resume

Doubly Linked Lists


Learn the basics of and build your own doubly linked list data structure.

InfoDoubly Linked Lists

LessonDoubly Linked Lists: Conceptual

QuizDoubly Linked Lists: Conceptual

LessonDoubly Linked Lists: JavaScript

QuizDoubly Linked Lists: JavaScript


VideoVideo: Doubly Linked Lists

InfoInteractive: Doubly Linked Lists

InfoGithub Cheat Sheet: Doubly Linked Lists

InfoPractice: Doubly Linked Lists

Resume

Queues
Learn how to build Queues, the first-in-first-out linear data structure.

Cheatsheet
|
Practice Pack

InfoQueues

LessonQueues: Conceptual

QuizQueues: Conceptual

LessonLearn Queues: JavaScript

QuizLearn Queues: JavaScript

VideoVideo: Stacks & Queues

InfoInteractive: Queues

InfoGithub Cheat Sheet: Queues

Resume
Stacks
Learn how to build and use stacks, the last-in, first-out data structure.

Cheatsheet
|
Practice Pack

InfoStacks

LessonStacks: Conceptual

QuizStacks: Conceptual

LessonLearn Stacks: Javascript

QuizLearn Stacks Javascript Quiz

ProjectWeb Navigator

VideoVideo: Stacks & Queues

InfoInteractive: Stacks

InfoGithub Cheat Sheet: Stacks

Resume

Review: Linear Data Structures


Review what was covered in the Linear Data Structures unit.

InfoReview: Linear Data Structures

Resume

39. Complex Data Structures


Introduction: Complex Data Structures
See what’s covered in the Complex Data Structures unit.

InfoIntroduction: Complex Data Structures

Resume

Hash Maps
Learn hash map basics and build them in JavaScript.

Cheatsheet
|
Practice Pack

InfoHash Maps

LessonHash Maps: Conceptual

QuizHash Maps: Conceptual

LessonLearn Hash Maps: JavaScript

QuizLearn Hash Maps: JavaScript

VideoVideo: Hash Maps

InfoInteractive: Hash Maps

InfoGithub Cheat Sheet: Hash Maps

Resume

Trees
Build the tree data structure, used to represent hierarchical data and many real-life data sources.

Cheatsheet
|
Practice Pack
InfoTrees

LessonTrees: Conceptual

QuizTrees: Conceptual

LessonTrees: JavaScript

QuizTrees: JavaScript

Resume

Heaps
Learn the concepts of the Heap data structure and how to build a MinHeap class in JavaScript.

Cheatsheet
|
Practice Pack

InfoHeaps

LessonHeaps: Conceptual

QuizHeaps: Conceptual

LessonHeaps: Javascript

QuizHeaps: JavaScript

VideoVideo: Heaps

InfoInteractive: Heaps
InfoGithub Cheat Sheet: Heaps

Resume

Graphs
Learn the basics of Graphs: weighted, unweighted, directed, undirected, cyclic, acyclic, and
more!

InfoGraphs

LessonGraphs: Conceptual

QuizGraphs: Conceptual

LessonGraphs: JavaScript

QuizGraphs: Javascript

Resume

Review: Complex Data Structures


Review what was covered in the Complex Data Structures unit.

InfoReview: Complex Data Structures

Resume

40. Algorithms
Introduction: Algorithms
See what’s covered in the Algorithms unit.

InfoIntroduction: Algorithms

Resume

Recursion
Learn recursion, the technique of solving a problem with functions that call themselves!

Cheatsheet
|
Practice Pack

InfoRecursion

LessonRecursion: Conceptual

QuizRecursion: Conceptual

LessonRecursion in JavaScript

QuizRecursion in JavaScript

LessonRecursive vs. Iterative Traversal

Resume

Asymptotic Notation
Learn Big-O notation and how to determine the complexity of algorithms.

Cheatsheet
|
Practice Pack

ArticleWhy Asymptotic Notation?

LessonAsymptotic Notation: Conceptual

QuizAsymptotic Notation: Conceptual

ArticleAsymptotic Notation: JavaScript

QuizAsymptotic Notation: JavaScript

ArticleSpace Complexity
Resume

Bubble Sort
Learn how to implement the bubble sort algorithm for sorting data sets.

Cheatsheet
|
Practice Pack

InfoSorting Algorithms

LessonBubble Sort: Conceptual

QuizBubble Sort: Conceptual

LessonBubble Sort: JavaScript

QuizBubble Sort: JavaScript

Resume

Merge Sort
Learn about merge sort, an efficient algorithm for divide-and-conquer sorting.

Cheatsheet
|
Practice Pack

LessonMerge Sort: Conceptual

QuizMerge Sort: Conceptual

LessonMerge Sort: JavaScript

QuizMerge Sort: JavaScript


Resume

Quicksort
Learn quicksort, a recursive divide-and-conquer sorting algorithm based on pivot elements.

Cheatsheet
|
Practice Pack

LessonQuicksort: Conceptual

QuizQuicksort: Conceptual

LessonQuicksort: Javascript

QuizQuicksort: Javascript Quiz

Resume

Review: Algorithms
See what was covered in the Algorithms unit.

InfoReview: Algorithms

Resume

41. Search & Graph Search Algorithms


Introduction: Search & Graph Search Algorithms
See what’s covered in the Search & Graph Search Algorithms unit.

InfoIntroduction: Search & Graph Search Algorithms

Resume

Binary Search and Search Trees


Learn binary search and binary trees for efficient search of sorted data and efficient construction
of sorted data sets.

Cheatsheet
|
Practice Pack

InfoBinary Search and Search Trees

LessonBinary Search: Conceptual

LessonBinary Search: JavaScript

LessonBinary Search Trees: JavaScript

QuizBinary Search Trees: JavaScript

Resume

Graph Traversals
Learn how to implement depth-first and breadth-first traversals of graphs.

InfoGraph Traversals

LessonGraph Search: Conceptual

QuizGraph Search: Conceptual

LessonGraph Traversal: JavaScript

QuizGraph Traversal: Javascript

Resume

Review: Search & Graph Search Algorithms


Review what was covered in the Search & Graph Search Algorithms unit.

InfoReview: Search & Graph Search Algorithms

Resume

42. Interview Skills


Introduction: Interview Skills
See what’s covered in the Interview Skills unit.

InfoIntroduction: Interview Skills

Resume

Technical Interviews: Whiteboarding


Practice your whiteboarding skills and learn how to break a technical interview problem down
into manageable pieces.

Cheatsheet
|
Practice Pack

LessonTechnical Interviews: Whiteboarding

QuizTechnical Interviews: Whiteboarding

ReadingCracking the Coding Interview Chapter 7: Technical Questions

Resume

Code Review: Interview Skills


You can learn a lot on your own, but you can learn even more when you collaborate with others!

InfoCode Review: Interview Skills

Resume

JavaScript Algorithm Practice


Practice implementing classic algorithms in JavaScript.

ArticleSieve of Eratosthenes

ArticleCapturing Rainwater

ArticleSorting with Custom Comparator Functions

ArticleIntroduction To Dynamic Programming in JavaScript


ArticleThe Knapsack Problem

InfoNext Steps

Resume

Soft Skills
Hard skills are great, but soft skills play a large part in determining fit. Learn to present your best
self by putting them on display.

ArticleBehavioral Interviews: How to Prepare and Ace Interview Questions

ArticleHow to Succeed in A Behavioral Interview

ReadingCracking the Coding Interview Chapter 5: Behavioral Questions

Resume

Real World Interview Problems


See some real-world technical interview problems in action.

VideoGoogle - First Recurring Character

VideoFacebook - How Many Ways to Decode a Message

VideoAmazon - Recursive Staircase Problem

VideoGoogle - Universal Value Tree

Resume

Review: Interview Skills


Review what was covered in the Interview Skills unit.

InfoReview: Interview Skills

Resume
43. Final Portfolio Project
Group Project: Final Project
You can learn a lot on your own, but you can learn even more when you collaborate with others!

InfoGroup Project: Final Project

Resume

Final PERN App


Build a PERN app of your choosing and deploy it to Heroku.

PortfolioFinal PERN App

Resume

44. Next Steps in Your Full-Stack Engineer Journey


Next Steps
Take the next steps in your technical career!

InfoCongratulations!

InfoNext Steps

You might also like