Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hanyhm/webdev

Backend NodeJS, express, mongodb course notes
https://github.com/hanyhm/webdev

backend express mongodb nodejs nodemon

Last synced: 8 days ago
JSON representation

Backend NodeJS, express, mongodb course notes

Awesome Lists containing this project

README

        

# Node JS Backend Course

## Node JS Outline

### Session 1
#### What is Back-end Development
- Request – response cycle
- What is a server and why do we use it
- Requests methods

#### Node JS
- What is NodeJS, what is runtime environment.
- How To Run a node file.
- Require, module.exports
- Package.json
- Type module
- dependencies

#### What is a module and its types (local, built in, third party)
- Module Scope
- Module Caching
- Streams and buffers
- pipes
- Built in Modules
- Path module
- Events module
- Fs module
- http module
- Creating a node server

## Session 2
- HTTP Routing
- Requests
- Params
- URL
- Body
- Response
- Headers
- Content-Type
- Json response
- HTML Response
- HTTP Response Code
- Libuv
- Thread Pool
- Event Loop
- Micro Task queue
- Timer Queue
- I/O Queue
- I/O Polling
- Check Queue
- Close Queue
- NPM

## Session 3
- Express
- Installation
- Creating a server
- Routes
- Get
- Post
- Patch
- Put
- Delete
- MVC
- Controllers
- Middleware
- Router
- Error handling
- Try
- Catch
- Throw
- Error

## Session 4
- Database
- Intro to databases
- What is a database
- Sql VS noSql
- Relational vs non-relational databases
- Mongo
- Collections
- Documents
- Mongo compass
- Linking mongo to node js
- CRUD Operations
- Insert One
- Insert Many
- Find
- Find one
- Finding nested documents (objects or arrays)
- Finding null or missing documents
- Update one
- Update Many
- Replace one
- Delete one
- Delete many

## Session 5
- Operators
- Field operators
- Set
- Min
- Max
- Mul
- Unset
- Rename
- Current date
- Array operators
- $
- []
- [identifier]
- Push
- Pop
- Pull
- Query operators
- Comparison
- Eq
- Gt
- Gte
- In
- Lt
- Lte
- Ne
- Nin
- Logical
- And
- Or
- Not
- Nor
- Element
- Exists
- Type
- Projection operators
- Update operators

## Session 6
- Cursor
- Projection
- Indexes
- Single-field index
- Compound index
- Multikey index
- Text index
- Geospatial index
- Data modelling
- Relations
- Embed
- Reference
- One – one
- One – many
- One - few
- One – ton
- Many – many

## Session 7
- Aggregations
- What is aggregations
- Aggregation stages
- Aggregation operators
- Match
- Group
- Project
- Push
- Unwind
- Bucket
- Look up

## Session 8
- Mongoose
- Models
- Schemas
- Crud operations
- Operators
- Aggregations
- Indexes
- Sequelize
- Sql databases
- How to connect sequelize to node js

## Session 9
- Making a crud operations project using DB
- Additional Express
- Models
- Creating models
- Schemas
- Dealing with models in controllers
- JSend
- Response message
- Response status code
- Data
- Errors

## Session 10
- Express validator
- Body
- Types of validators
- Is empty
- In email
- Is phone
- Custom validators
- With message
- Validation results
- CORS
- Origin
- Accept
- Headers
- Dot env
- What is environment
- Port
- Salt
- Keys
- BCrypt
- Hash
- Salt
- Verify

## Session 11
- Authentication and authorization
- JWT
- Header
- Payload
- Signature
- Sign
- Verifying token
- Adding token to response cookie

## Session 12
- Multer
- single
- array
- disk storage
- limits
- file filter
- error handling
- Node Mailer
- Sending text messages
- Twilio

## Session 13
- Web Sockets
- What is web socket
- Events
- Emits
- Socket
- Broadcasting
- Chat app

## Session 14 – 19
- Full project workshop (Node + React)