Skip to content

costaivo/Tutorial-NodeJS

Repository files navigation

NodeJs Training Program

  • What is NodeJS
  • Node Architecture
  • How Node Works
  • Installing Node
  • Installing Code Editor
  • Hello World NodeJS
  • Blocking & Non Blocking Code Example
  • What is a Module
  • Using a System Module
  • Creating a Module
  • Exporting a Module
  • Using a Custom Module
  • What is it?
  • Why is it required?
  • Add packages
  • Global vs local Packages
  • Removing Packages
  • Updating Packages
  • DevDependencies
  • Nodemon

REST API

  • What is Express
  • Creating a GET Request
  • Creating a POST Request
  • Creating a PUT Request
  • Creating a DELETE Request

Tools

  • Using Postman
  • GET/POST/PUT/DELETE Request setup on postman
  • mySQL workbench

Database Design

  • Todo Application DB Design Example

Database Integration

  • Connecting to a database
  • Using Sequelize
  • Creating Schema
  • Explain what is  ORM
  • Fetching Data from SQL into Node

CRUD Operations Using REST Endpoints

  • Creating API for CRUD operations on ToDoList
  • Creating API for CRUD operations on ToDo Items
  • API to get Pending ToDo List and Linked Items
  • API to get Upcoming ToDoList and Linked Items
  • Creating API to Add Users
  • Assigning ToDoList to Users

Working on Sample Project: Assets Management

  • Understanding the existing Project
  • Review the Deployed App
  • Review the Database Schema
  • Select a module from the project for development
  • Use the skeleton project structure to begin developement
  • Design REST API routes for development of selected module
  • Submit completed developement on github
  • Compare the exisitng implementation to your implemeted module.
    • List out the advantages of your approach vs the existing implementation
    • Create Task to implement the changes : only if your approach is better than the existing implementation

Unit Tests

  • Karma
  • Protractor
  • Jasmine

Best Practices

  • Using JS Coding Standards to have uniform coding pattern.
  • NPM and NVM Configuration Files
  • Linting your code