Web Development Course Resources List
Section 1: Front-End Web Development
- Download the Course Syllabus
- App Brewery Cornell Notes Template
- Submarine Cable Map
-
Google Chrome Browser (recommended)
- Atom Installation Instructions (recommended)
- List of Atom Plugins
- Repl.it (No installation required)
- VS Code Text Editor (alternative code editor)
- VS Code Extensions
Section 2: Introduction to HTML
- HTML Cheatsheet by Stanford Universityp
- Experiment with HTML code on codepen.io
- The Adventures of Sherlock Holmes on Gutenberg.org
- MDN documentation on headings
- W3Schools documentation on headings
- Alternative reference devdocs.io
- Use the Wayback Machine to find out what websites used to look like in the olden days
- Professor Thomas H. Cormen's Personal Site (co-author of Introduction to Algorithms)
- Professor John Kleinberg's Personal Site (developed the HITS algorithm for web search)
- Professor Emeritus Donald Knuth's Personal Site (author of the Art of Computer Programming)
- Useful Atom keyboard shortcuts
- See what the emmet package can do on their cheat sheet
- List of UTF-8 characters
- See encoding differences on Windows symbol charts (e.g., Greek vs Arabic)
- See all unicode characters with a map on unicode-table.com
- Joel Spolsky on the absolute minimum any developer needs to know about unicode
- Difference between the HTML5 emphasis vs italicise tags
- Hyperlinks and the Wikigame
- Stanford HTML Cheatsheet
- A beautiful example of an online CV by Pascal Van Gemert
Section 3: Intermediate HTML
- Pascal Van Gemert's Online CV
- MDN Table Documentation
- MDN Form Documentation
- MDN Input Documentation
- Publish your website using Github Pages
Section 4: Introduction to CSS
- Stanford CSS Cheatsheet
- Toasty Technology classic 90s Style Website
- Sean Halpin's beautiful personal website
- MDN documentation on background colour
- Curated colour palettes on colorhunt.co
- Colour palette used in lectures
- Pesticide Chome Extension
- Table of named colours on MDN
- Overview of default CSS applied by the browser
- MDN documentation on border-styles
- devdocs.io on CSS height
- W3Schools documentation on CSS Text
- Download the Debugging Problem Starting Files
- Download the Bacon Fan Site Starting Files
- MDN CSS Reference
- Emojipedia broccoli emoji
- CSS Properties and Pseudoclasses Reference (MDN)
- MDN :hover Documentation
Section 5: Intermediate CSS
- Sean Halpin's beautiful personal website
- Create a Favicon with favicon.cc
- My colours from colorhunt
- Download the CSS-My Site Images
- Is the img element block level or inline-level?
- MDN margin documentation
- W3Schools documentation on Web Safe Fonts
- cssfontstack.com
- Google Fonts
- Download the StubCode.html file (Remember to open from Atom otherwise it will open in the browser)
- Lorem Ipsum Generator
- flaticon.com
- giphy.com
- MDN CSS color property documentation
- MDN font-weight documentation
- css3buttongenerator.com
- Completed Personal Site Project
Section 6: Introduction to Bootstrap 4
- Codeply: Use Bootstrap in an Online Editor
- Bootstrap Homepage
- Boostrap Examples
- How to Install Bootstrap
- Submarine Cable Map
- Websites featured on awwwards.com
- Design patterns on ui-patterns.com
- Websites on dribbble.com
- Templates on sneakpeekit.com
- Wireframing with balsamiq
- Bootstrap Navbar
- Bootstrap Colour names
- Bootstrap NavBar Codeply
- Bootstrap Grid Codeply
- TinDog Starting Files
- Bootstrap Layout Grids
- Google Fonts: Montserrat
- Google Fonts: Ubuntu
- Bootstrap Containers
- Bootstrap Buttons
- Apple Icon on Font Awesome
- Hint: CSS Transform Function
- Need sample text? Use a lorem ipsum generator: loremipsum.io
Section 7: Intermediate Bootstrap
- Bootstrap Carousel
- Bootstrap Card
- Cards Pricing Example
- Bootsnipp.com Examples
- Download Stacking Order Flowchart
- Z-Index Codeply Example
- Mobile Friendly Test
- TinDog Completed Website Files
Section 8: Web Design School - Create a Website that People Love
- Penny Juice's Website
- Penny Juice Rebranded
- Curated colour palettes on Color Hunt
- Adobe Color Wheel
- Design Challenges on Daily UI
- Page inspirations on Collect UI
- Build a design using canva.com
Section 9: Javascript
- The History of Internet Explorer Comic Strip
- Writing Good Javascript Guidelines
- Karel Online IDE
Section 10: Intermediate Javascript
- Randomness -video by Khan Academy
- Why can't programmers program? A blog past from Coding Horror
- Now that's what I call a Hacker. The legendary story retold in English.
- The original story from above link in Russian.
- Fibonacci challenge Flow Chart
Section 11: The Document Object Model (DOM)
Section 12: Boss Level Challenge 1 - The Dicee Game
- Download the Starting Files to the Dicee Challenge
- Download the completed Dicee Challenge
- DOM Style Javascript property names
Section 13: Advanced Javascript and DOM Manipulation
Section 16: The Unix Command Line
- Download Hyper Terminal
- For Windows Users: Download Git
- For Windows Users: Hyper Configurations
- Learn enough command line to be dangerous
Section 18: Node.js
- Download Node.js
- Node API Documentation
- Node Documentation on Exports & the Module Object
- MDN Docs on Javascript Objects
- Katacoda NodeJS Playground
Section 19: Express.js with Node.js
Section 20: APIs - Application Programming Interfaces
- UK Police API Documentation
- murdermap.co.uk uses the Police API to plot crime
- The Kanye Rest API Endpoint
- Parameters and Paths on the SV443 Joke API
- Postman API Tool
- OpenWeatherMap API
- W3Schools JSON vs. XML
- The Rise and Rise of JSON
- Chrome Browser Add-on Json Viewer Pro (Awesome was sold to another owner)
- Node HTTPS Module Docs
- HTTP Status Codes
- HTTP Status Dogs
- Criptii Hexcadecimal Converter
- Bootstrap Sign In Example
- Get the Bootstrap CDN
- Mailchimp Getting Started
- Mailchimp API Reference
- Mailchimp List Documentation
- The Boostrap Jumptron
- Deploy to Heroku
- Heroku Node.js Documentation
- Sign up to our Newsletter (if you like)
Section 21: Git, Github and Version Control
Section 22: EJS
- app.js Starting File
- EJS documentation (e.g., on tags)
- Documentation on var
- Documentation on let
- Documentation on const
- Download styles.css for Todolist v1 App
Section 23: Boss Level Challenge 3 - Blog Website
Section 24: Databases
- Kristof Kovacs' database comparison
- A bit of context: Internet Live Stats
Section 25: SQL
- W3Schools on SQL
- SQL Playground on sqliteonline.com
- Data Types in SQL
- Primary Keys in SQL
- Foreign Keys in SQL
- Inner Joins
- Completed SQL demo project
Section 26: MongoDB
- How to install MongoDB on Mac
- How to install MongoDB on Windows
- MongoDB installation documentation for MacOS
- MongoDB Docs on CRUD operations
- MongoDB Query Operators
- MongoDB Update Operations
- MongoDB NodeJS Driver
Section 27: Mongoose
- Mongoose: an alternative to the native MongoDB driver
- Mongoose documentation on the Model
- Mongoose documentation on data validation
Section 28: Putting Everything Together
- Todolist v2 starting files
- Mongoose findByIdAndRemove() method
- MDN on inputs of type "hidden"
- Removing items from an array withthe MongoDB $pull operator
- How to capitalise Strings using Lodash
- Todolist v2 completed web app
Section 28: Deploying Your Web Application
- Sign up and deploy a free cluster with MongoDB Atlas
- Heroku documentation on getting started with NodeJS
- Deploying an existing application on Heroku
Section 30: Boss Level Challenge 4 - Blog Website Upgrade
Section 31: Build Your Own RESTful API from Scratch
- ExpressJS Route Parameters
- Lodash Utility Library
- Chained Route Handlers Challenge Solution
- Download the Completed Project
Section 32: Authentication & Security
- Download the Starting Files
- cryptii.com
- Numberphile Video on Enigma Part 1 and Part 2
- What are Rainbow Tables
- How do Rainbow Tables Work?
- Bad Things Happen When You Don't Secure Your API Keys
- Developer AWS gets used by Litecoin miners
- gitignore and directories
- MDN Array forEach() loop
- Check if your password is compromised
- Plaintext Offenders
- Password Strength Checker
- Hacker Typer
- Install NVM
- Passport
- Google Developers
Section 33: React.js
Introduction to Code Sandbox
Introduction to JSX
JSX Code Practice
Javascript Expressions in JSX & ES6 Template Literals
Javascript Expressions in JSX Practice
JSX Attributes & Styling React Elements
Inline Styling for React Elements
React Styling Practice
React Components
React Components Practice
Javascript ES6 - Import, Export and Modules
Node require() vs ES6 import/export
Javascript ES6 Import, Export and Modules Practice
[Windows] Local Environment Setup for React Development
Babel syntax highlighting for code editors
Sublime Babel by Josh Peng - VSCode
Where to get support if you get stuck
[Mac] Local Environment Setup for React Development
Babel syntax highlighting for code editors
Sublime Babel by Josh Peng - VSCode
Where to get support if you get stuck
Keeper App Part 1 Challenge
Keeper App Part 1 Solution
React Props
React Props Practice
React DevTools
Mapping Data to Components
Mapping Data to Components Practice
Javascript ES6 Map/Filter/Reduce
Javascript ES6 Arrow functions
Keeper App Project - Part 2
React Conditional Rendering with the Ternary Operator & AND Operator
Single Responsibility Principle
Conditional Rendering Practice
State in React - Declarative vs. Imperative Programming
React Hooks - useState
useState Hook Practice
Javascript ES6 Object & Array Destructuring
Javascript ES6 Destructuring Challenge Solution
Event Handling in React
React Forms
Controlled Components in Forms
Class Components vs. Functional Components
Should I use Hooks, classes, or a mix of both?
Changing Complex State
Changing Complex State Practice
Javascript ES6 Spread Operator
Javascript ES6 Spread Operator Practice
Managing a Component Tree
Generating unique ids with the UUID Package
Managing a Component Tree Practice
Keeper App Project - Part 3
React Dependencies & Styling the Keeper App
Material UI Icons Documentation
Material UI Floating Action Buttons