Libraries
Frontends
https://github.com/SoftwareBrothers/adminjs
Lodash
A modern JavaScript utility library delivering modularity, performance & extras.
Lodash makes JavaScript easier by taking the hassle out of working with arrays, numbers, objects, strings, etc.Lodash's modular methods are great for:
- Iterating arrays, objects, & strings
- Manipulating & testing values
- Creating composite functions
https://github.com/lodash/lodash
PassportJS
Passport is authentication middleware for Node.js. Extremely flexible and modular, Passport can be unobtrusively dropped in to any Express-based web application. A comprehensive set of strategies support authentication using a username and password, Facebook, Twitter, and more.
https://github.com/jaredhanson/passport
Nodejs passport login system - https://www.youtube.com/watch?v=-RCnNyD0L-s
Node + Passport User Authentication
- passport-local strategy (Session)
- passport-jwt strategy
User Authentication Choices
What is Passport JS
- Welcome to Express middlewares!
- On each HTTP request, Passport will use a "Strategy" to determine whether the requestor has permission to view that resource
- If the user does not have permission, a 401 Unauthorized Error is thrown
- Passport Strategies??
- Each strategy uses the Passport JS framework as a template
- The Passport Local Strategy utilizes, Cookies, Express Sessions and some authentication logic
Intro to HTTP Headers and Cookies
- 3 types of headers
- General headers
- Request headers
- Response headers
Setting header with expiry
var date = new Date();
date.setTime(date.getTime() - 20000);
document.cookie = "custom1=value; expires=" + date.toUTCString() + ";"
Set a cookie for 2 weeks and after it expire, user has to re-login
Fetch API - https://www.youtube.com/watch?v=cuEtnrL9-H0
JWT Authentication - https://www.youtube.com/watch?v=mbsmsi7l3r4
Fingerprintjs
FingerprintJS is a browser fingerprinting library that queries browser attributes and computes a hashed visitor identifier from them. Unlike cookies and local storage, a fingerprint stays the same in incognito/private mode and even when browser data is purged.
https://github.com/fingerprintjs/fingerprintjs
Request - https://github.com/request/request
Sequelize | Feature-rich ORM for modern TypeScript & JavaScript
Sequelize is a modern TypeScript and Node.js ORM for Oracle, Postgres, MySQL, MariaDB, SQLite and SQL Server, and more. Featuring solid transaction support, relations, eager and lazy loading, read replication and more.
Code editor libraries
- Monaco by Microsoft
- React devtools inline
- Console feed
BullMQ
Message Queue and Batch processing for NodeJS and Python based on Redis
BullMQ - Background Jobs processing and message queue for NodeJS | BullMQ