An online shop created with Node.js, Express.js & Mongoose, following along with NodeJS - The Complete Guide
Node.js Basics
Efficient Development
- npm, nodemon, debugging a Node application
Express.js
Templating Engines
- Pug, Handlebars, EJS
MVC
- Theory/principles of the pattern
Advanced Routes & Models
- Dynamic routing, defining and creating better models
SQL & MySQL
- Querying a database within a Node application
Sequelize & MySQL
- Benefits of ORM's
NoSQL & MongoDB
- Experimenting with a non-relational database
Mongoose & MongoDB
- Rewrote my application to use this
Sessions & Cookies
- Express-session, setting, manipulating and configuring cookies
Authentication
- Signup & Login, Bcrypt, CSRF tokens, Password reset (& reset token expiry)
Sending E-Mails
- Nodemailer & SendGrid
User Input Validation & Sanitisation
- Express-validator
Error Handling
- Throwing Error objects so that our errorController can handle these
File Uploads & Downloads
- Multer, createWriteStream/createReadStream, PDFKit
Pagination
- Implemented using skip and limit
Async Requests
- Experimenting with client-side asynchronous code for deleting products
Handling Payments
- Using Stripe
Deployment
- Environment Variables, production API keys, reduce error output information, secure response headers, asset compression, logging, SSL/TLS
Node JS Functionality Beyond Web Servers