ashrafmo-1 / backEndNodeJSExpressDataBase

learn nodeJs, create projects, lessons code zone and any mentor, mongo database, mongos to database and learn frame workd

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

backEndNode

node tools module and packages

Name Use case install
#1 nodemon make live server in command https://www.npmjs.com/package/nodemon
#2 inquirer A collection of common interactive command line user interfaces. https://www.npmjs.com/package/inquirer
#3 commander The complete solution for node.js command-line interfaces. https://www.npmjs.com/package/commander
#4 thread pool used to run all file system operations https://docs.libuv.org/en/v1.x/threadpool.html
#5 exposrt and Import can use any function from file to defrent file
#6 fs module work on files system and write, remove and viwe on documents
#7 express-validator handle vlidation for all data https://express-validator.github.io/docs/
#8 dotenv Dotenv is a zero-dependency module that loads environment variables from a .env file into process.env. Storing configuration in the environment separate from code is based on The Twelve-Factor App methodology. https://www.npmjs.com/package/dotenv
#9 cors error CORS is a node.js package for providing a Connect/Express middleware that can be used to enable CORS with various options. https://www.npmjs.com/package/cors
#10 cors error CORS is a node.js package for providing a Connect/Express middleware that can be used to enable CORS with various options. https://www.npmjs.com/package/cors
#11 axios-mock-adapter Axios adapter that allows to easily mock requests https://www.npmjs.com/package/axios-mock-adapter
#12 bcryptjs make password hashing in mongoDB Express https://www.npmjs.com/package/bcryptjs



node frame works

Name install
#1 express https://expressjs.com
#2 Koa https://koajs.com
#3 nest https://nestjs.com
#4 Hapi https://hapi.dev
#5 Meteor https://www.meteor.com
#5 https://sailsjs.com



libuv Design architecture

It is divided into two parts

First Division is network i/o >> hanel in os kernal

"About http request"

  • epoll on Linux

  • kqueue on OSX and other BSDs

  • event ports on SunOS

  • IOCP on Windows

    kernel

vedio link
#1 operating system kernel https://youtu.be/Ujd3zy2M2M4?si=0S5tyr8CdABL4Z9_




status code

more information the status code in "mdn"

https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#browser_compatibility

code information more
#1 100 - 199 Informational responses https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#information_responses
#2 200 - 299 Successful responses https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#successful_responses
#3 200 status "ok" all requists and responses is done
#4 300 - 399 Redirection messages https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#redirection_messages
#5 400 - 499 Client error responses https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#client_error_responses
#6 404 error not fount page, link, route, assets, any thing
#7 401 often denoted as UNAUTHORIZED
#8 422 validation error in data
#9 500 - 599 Server error responses https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#server_error_responses




Express information

site https://expressjs.com/

install https://expressjs.com/en/starter/installing.html

middleware https://expressjs.com/en/guide/writing-middleware.html

morgan medelware node.js npm => https://www.npmjs.com/package/morgan | github => https://github.com/expressjs/morgan

database

mongoDB

to use data base deffrrent mongo


back end information and main data

what is password hashing

jsend

app file handling

make without routes and controller
const express = require("express");
const dotenv = require("dotenv");
const mongoose = require("mongoose");
dotenv.config();

const app = express();
const port = process.env.port;
const url = process.env.mongoURL;

mongoose.connect(url).then(() => {
    console.log("Connect success for DB");
}).catch(err =>  console.log(err));

app.listen(port, () => {
    console.log(`start server work in ${port}`);
});

Contact with mysql

// config/db.config.js
const mysql = require('mysql');

const connection = mysql.createPool({
  host: process.env.DB_HOST, // DB_HOST=localhost
  user: process.env.DB_USER, // DB_USER=root
  password: process.env.DB_PASS, // DB_PASS=""
  database: process.env.DB_NAME // DB_NAME=example
});

connection.getConnection(() => {
  console.log('success db');
})

module.exports = connection;

About

learn nodeJs, create projects, lessons code zone and any mentor, mongo database, mongos to database and learn frame workd