Skip to content

Feature rich online shop built using Express & MongoDB

Notifications You must be signed in to change notification settings

AndrewCathcart/node-shop

Repository files navigation

node-shop

An online shop created with Node.js, Express.js & Mongoose, following along with NodeJS - The Complete Guide

What I've learned in this project

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

About

Feature rich online shop built using Express & MongoDB

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published