Back-end Development

  1. Node.js + Express + npm
  • Learn how to setup a simple server (with Express)
  • Learn about request & response
  • Learn about handling routes

Learn res.send(), res.json(), res.render()

Learn how to get data from API & send to the client with res.send()

  • Learn how to setup server with Node.js from scratch

Common npm packages

body-parse

  • express

path

pug, handlebars, mustache, ejs, etc (Go with pug)

Learn how body-parser helps put things on req.body

Learn how to render pug files with res.render('someViewFile.pug', data)

  1. Databases

Relational

Non-relational

MongoDB

PostgreSQL

MySQL

ORM/ Object Relational Mappers (you don't really need it, but it makes things a lot easier)

CRUD (create, read, update, delete)

Monggose (MongoDB)

Sequalize (PostgreSQL, MySQL)

  1. Baby Projects (must have crud functionality)

URL Shortener

Todo List App

A Movies App

Blog

Rebuild front-end API projects

Deploy projects to heroku/ now/ digital ocean/ etc

  1. More

MVC Achitecture

Authentication

Authorization

Security

recommended: passport (npm package)

simple basic authentication system (email & password)

login with social media account (google, facebook, twitter, etc)

JWT (JSON Web Tokens)

Email reset password flow

Send emails with Node.js, recommended: Nodemailer (npm package)

oAuth 2.0, and integrate it with third-party apps

SSL

Injections

Form validation (client-side & server-side)

Handling uploads (images, videos, links, etc)

XSS Attacks

  1. After More

Server-side Rendering vs. Client-side Rendering

MERN (go deeper, solidify)

Explore other stacks