NodeJS, Express and MongoDB Training Course

Posted By : User Ref No: WURUR49518 0
  • Image
  • TypeTraining or Development Class
  • Image
  • Location Nairobi, Kenya
  • Price
  • Date 03-02-2020 - 14-02-2020
NodeJS, Express and MongoDB Training Course, Nairobi, Kenya
Training or Development Class Title
NodeJS, Express and MongoDB Training Course
Event Type
Training or Development Class
Training or Development Class Date
03-02-2020 to 14-02-2020
Last Date for Applying
03-02-2020
Location
Nairobi, Kenya
Organization Name / Organize By
Tech For Development
Organizing/Related Departments
Digital Marketing
Organization Type
Institution
Training or Development ClassCategory
Technical
Training or Development ClassLevel
International
Related Industries

Education/Teaching/Training/Development

Location
Nairobi, Kenya

Course Name: NodeJS, Express and MongoDB Training Course

Venue: Tech for Development Training Center, Nairobi, Kenya

Event Date: 3rd to 14th February 2020

Course Fee: KES 150,000 OR USD 2,000

Registration: Register online

Tech for Development-T4D would like to invite you to a high impact Training Course in NodeJS, Express and MongoDB Training Course to be held in Nairobi, Kenya from 3rd to 14th February 2020.

Why T4D?

We are an international training, capacity building and tech solutions organization that offers tech solutions, scheduled and tailor made training and capacity building solutions to individuals and development agencies in Africa and around the world.

We provide our training programs with a capacity-building goal, so as to ensure that, our training programs contribute to sustainable change.

Introduction

Node.js, or Node, is a runtime environment for executing JavaScript code outside of a browser. It is ideal for building highly-scalable, data-intensive backend services (APIs) that power your client’s apps (web or mobile apps).

Do you want to build fast and powerful back-end applications with JavaScript? Would you like to become a more complete and in-demand developer? Then Node.js is the hot technology for you to learn right now, and you came to the right place to do it. This course is the perfect all-in-one package that will take you from a complete beginner to an advanced, highly-skilled Node.js developer.

Who should attend?

  • Beginner or advanced web developers who want to dive into backend (server-side) development.
  • Back-end developers familiar with other frameworks like ASPNET, Rails, Django, etc and want to add Node to their toolbox.

Requirements

  • Any computer and OS will work — Windows, macOS or Linux
  • Absolutely NO understanding of NodeJS or back-end development is required
  • Basic understanding of JavaScript is required

Duration

10 days

Course Objectives

What you will learn:

  • Fundamentals of Node.js, core modules and NPM (Node Package Manager)
  • Event loop, blocking vs non-blocking code, event-driven architecture, streams, modules etc
  • Fundamentals of Express (Node.js framework): routing, middleware, sending responses
  • RESTful API design and development with advanced features: filtering, sorting, aliasing, pagination
  • Server-side website rendering (HTML) with Pug templates
  • CRUD operations with MongoDB database
  • Advanced MongoDB: geospatial queries, aggregation pipeline, and operators
  • Fundamentals of Mongoose (MongoDB JS driver): Data models, CRUD operations, data validation, and middleware
  • Advanced Mongoose features: modeling geospatial data, populates, virtual populates, indexes
  • Using the MVC (Model-View-Controller) architecture
  • Advanced data modelling: relationships between data, embedding, referencing
  • Modern authentication with JWT
  • Security: best practices, encryption, sanitization, rate limiting
  • Deploying Node.js applications

Course Content

Module I

Getting Started

  • What is Node and how it works?
  • Node Architecture
  • Intsalling NodeJS and Creating the first Application

Quick JavaScript Refresher

  • JavaScript in a Nutshell
  • Refreshing the Core Syntax
  • let & const
  • Understanding Arrow Functions
  • Working with Objects, Properties & Methods
  • Arrays & Array Methods
  • Arrays, Objects & Reference Types
  • Understanding Spread & Rest Operators
  • Destructuring
  • Async Code & Promises
  • Template Literals

Understanding the Basics

  • How The Web Works
  • Creating a Node Server
  • The Node Lifecycle & Event Loop
  • Controlling the Node.js Process
  • Understanding Requests
  • Sending Responses
  • Request & Response Headers
  • Routing Requests
  • Redirecting Requests
  • Parsing Request Bodies
  • Understanding Event Driven Code Execution
  • Blocking and Non-Blocking Code
  • Node.js - Looking Behind the Scenes

Module II

Node Module System

  • Global Object
  • Modules
  • Creating a Module
  • Loading a Module
  • Module Wrapper Function
  • Path Module
  • OS Module
  • File System Module
  • Events Module
  • Event Arguments
  • Extending Event Emitter
  • HTTP Module

Node Package Manager

  • Package.json
  • Installing a Node Package
  • Package Dependencies
  • NPM Packages and Source Control
  • Semantic Versioning
  • Listing the Installed Packages
  • Viewing Registry Info for a Package
  • Installing a Specific Version of a Package
  • Global and Local npm Packages
  • DevDependencies

Module III

Building RESTful API's Using Express.js

  • What is Express.js?
  • Installing Express.js
  • RESTful Services
  • Introducing Express
  • Building Your First Web Server
  • Nodemon
  • Environment Variables
  • Route Parameters
  • Handling HTTP GET Requests
  • Handling HTTP POST Requests
  • Calling Endpoints Using Postman
  • Input Validation
  • Handling HTTP PUT Requests
  • Handling HTTP Delete Requests

Advanced Express.js

  • Middleware
  • Creating Custom Middleware
  • Built-In Middleware
  • Third-party Middleware
  • Environments
  • Configuration
  • Debugging
  • Templating Engines
  • Database Integration
  • Authentication
  • Structuring Express Applications

Module IV

Working with NOSQL and using MongoDB

  • What is MongoDB?
  • Installing MongoDB on macOS
  • Installing MongoDB on Windows
  • Connecting to MongoDB
  • Schemas and Models
  • CRUD: Creating Documents
  • CRUD: Querying (Reading) Documents
  • CRUD: Updating Documents
  • CRUD: Deleting Documents
  • Using Compass App for CRUD Operations
  • Creating a Hosted Database with Atlas
  • Connecting to Our Hosted Database
  • Pagination

MongoDB with Mongoose

  • What is Mongoose?
  • Connecting to the MongoDB Server with Mongoose
  • Saving Data Through Mongoose
  • Modelling Relationships
  • Referencing Documents
  • Population
  • Embedding Documents
  • Validation
  • Built-In Validators
  • Custom Validators
  • Async Validators
  • Validation Errors
  • SchemaType Options

Module V

Error Handling with Express

  • Debugging Node.js with ndb
  • Handling Unhandled Routes
  • An Overview of Error Handling
  • Implementing a Global Error Handling Middleware
  • Better Errors and Refactoring
  • Catching Errors in Async Functions
  • Adding 404 Not Found Errors
  • Errors During Development vs Production
  • Handling Invalid Database IDs
  • Handling Duplicate Database Fields
  • Handling Mongoose Validation Errors
  • Errors Outside Express: Unhandled Rejections

Authentication and Authorization

  • What is Authentication?
  • How Authentication is Implemented
  • Using Lodash
  • Hashing Passwords
  • CSRF Token
  • JSON Web Tokens
  • Generating Authentication Tokens
  • Storing Secrets in Environment Variables
  • Setting Response Headers
  • Encapsulating Logic in Mongoose Models
  • Authorization Middleware
  • Protecting Routes
  • Role Based Authorization

Module VI

Testing

  • Unit Testing
  • Integration Testing

Deployment

  • Preparing the App for Production and Deployment
  • Joining Heroku and GitHub
  • Version Control with Git
  • Exploring and Integrating Git
  • Setting up SSH Keys
  • Pushing Code to GitHub
  • Deploying Node.js to Heroku
  • New Feature Deployment Workflow
  • Avoiding Global Modules
  • Viewing Logs
  • Setting Environment Variables
  • MongoDB in the Cloud

Methodology

The instructor led trainings are delivered using a blended learning approach and comprise of presentations, guided sessions of practical exercise, web based tutorials and group work. Our facilitators are seasoned industry experts with years of experience, working as professionals and trainers in these fields.

All facilitation and course materials will be offered in English. The participants should be reasonably proficient in English.

Accreditation

Upon successful completion of this training, participants will be issued with a certificate of participation.

Training venue

The training is residential and will be held at T4D Training Centre in Westlands Nairobi, Kenya. The course fees cover the course tuition, training materials, two break refreshments, lunch, and study visits.

All participants will additionally cater for their, travel expenses, visa application, insurance, and other personal expenses.

Tailor- made

We can also tailor-make our courses for you. This way, you/your organization will benefit by:

  • Using own tools during the training
  • Being able to choose areas of interest you wish the trainer to put more emphasis on
  • Taking the course in-house or at a venue of choice
  • Cutting on the cost of transport and accommodation

For further inquiries, please contact us on details below:

Email: [email protected]

Mobile: +254 (0) 729166479

Accommodation

Accommodation is arranged upon request. For reservations contact the Training Officer.

Email: [email protected]

Mobile Number: +254 706909947

Training fee

The course fee is KES 150,000.00 or USD 2,000.00 exclusive of VAT. The course fees covers the course tuition, training materials, two (2) break refreshments, lunch and study visits. Participants will cater for their travel and accommodation costs.

Payment

Payment should be transferred to Tech for Development - T4D account through bank on or before the course starting date.

Send proof of payment to [email protected]

Action plan

Cancellation policy

Payment for the all courses includes a registration fee, which is non-refundable, and equals 15% of the total sum of the course fee.

  1. Participants may cancel attendance 14 days or more prior to the training commencement date.
  2. No refunds will be made 14 days or less to the training commencement date. However, participants who are unable to attend may opt to attend a similar training at a later date, or send a substitute participant provided the participation criteria have been met

Testimonials

Kindly visit this link to see video and photo testimonials of our previous training events.

FAQS

Need more information? Kindly visit this link to see answers to frequently asked questions.

Contact information

Tel: +254 706909947
Email: [email protected]
Website: www.t4d.co.ke

Kind regards.

Kelvin K. Mwangi
Customer Relationship Officer,
Tech For Development.
Innovation for impact

Registration Fees
Available
Registration Fees Details
USD 2000
Registration Ways
Website
Address/Venue
  Tech for Development Training Center  Pin/Zip Code : 00101
Official Email ID
Contact
Jeff

Westlands Road

[email protected]

   0706909947    Fax No: 104834