This is the codebase as I worked through the Node.js - The Complete Guide course on Udemy.
See my blog for my review of the course
The course worked through various things including different data storage stacks. I did each of the different stacks in a separate branch so they would be easily accessible for reference later. Here's a quick reference of what each branch is:
Branch | Description |
---|---|
master | Main working branch with final express-mvc and express-rest projects |
sequelize | express-mvc project: using sequelize to connect to local MS SQL Server database |
mongodb | express-mvc project: using mongodb to connect to local MongoDB server |
mongoose | express-mvc project: using mongoose to connect to local MongoDB server |
socket-io | express-mvc project: using socket.io to add client sync features |
graphql | express-rest project: convert REST API to use GraphQL |
Here are some of the useful packages that were covered in the course.
- express: Fast, unopinionated, minimalist web framework for node
- body-parser: A body parsing middleware
- connect-flash: Store temporary messages in an express session, useful for validation messages in MVC apps
- csurf: A CSRF (cross-site request forgery) protection middleware
- express-validator: Provides easy, flexible validation middlewares uses validator.js under the hood
- multer: A middleware for
multipart/form-data
to make it easy to handle uploads - helmet: Middleware to automatically add secure response headers to help secure your app
- compression: Middleware to compress responses
- morgan: A request logging middleware
- bcryptjs: A javascript implementation of
bcrypt
to provide simple hashing for passwords and other data - pdfkit: Create PDF documents in javascript
- socket.io: Simple web sockets library. Also has a client library. Example in
socket-io
branch
- connect-mongodb-session: Store express sessions in MongoDB
- mongodb: The official MongoDB driver for node
- mongoose: A MongoDB object modeling tool
- sequelize: An ORM for connecting to SQL servers
- tedious: A driver for connecting to MS SQL Server, can be used by sequelize
- nodemailer: Enables easy sending of emails from node
- nodemailer-sendgrid-transport: A nodemailer plugin to send mails via sendgrid
- graphql: Javascript implementation of GraphQL
- express-graphql: An express middleware GraphQL HTTP server