Master the fundamentals of web application development and deep dive into the aspects of Node JS and Express JS
In this course, we focus on the field of web application development and describe the processes, algorithms, and tools for one to be a successful practitioner of Node and Express JS. Students will be exposed to development techniques used in the mentioned tools.
Duration
5 days / 40 hours
Level
Intermediate to Advanced
Delivery
100% Online - Instructor Led
- Course CodeML101
- AudienceExperienced or entry-level software developers who want to learn how to leverage this powerful and modern web stack.
- LanguageEnglish
- CertificationAwarded by ICTC
Course modules covered in the Web Application Development using NodeJS and ExpressJS training program
Day 1 - Introduction to "Modern (ES5)" , Functional Programming, Object Oriented Programming - OOP, Error Handling, Node Projects, HTTP
Introduction to "Modern (ES5)" JavaScript
- Basic language features
- JavaScript types: Number, String, Boolean
- Variable declaration using let
- Operators – arithmetic, assignment, comparison
- Decision Making – if, else, switch case, double equal ==, triple equal ===
- Loops – for, while, do ... while
- Arrays, iterating arrays using for … in
Functional Programming
- Functions
- Returning functions
- Parameterized functions
- Default function parameters
- REST parameters
- Anonymous functions and IIFE
- Function constructor
- Lambda functions & Lambda statement
- Lambda expression
- Function hoisting
- Generated functions
Object Oriented Programming - OOP
- Java Script Objects
- Object creation – Literal method, Using Object, Function constructor
- Properties, Methods
- Comparing Objects
- Object de-structuring
- JavaScript call, apply and bind
- Class
- Creating Objects
- Constructor
- Inheritance
- Method Overriding
- Collections – Map, Set
- Promise
- Importing a module
- Exporting a module
Error Handling
- Syntax Errors
- Runtime Errors
- Logical Errors
- Throwing Exceptions
- Exception handling
- Custom Errors
Node Projects
- The JavaScript Repository
- Node Package Manager (NPM)
- Creating a JavaScript project
- The package.json configuration file
- Installing Packages Global
- Installing Packages Locally
- Adding dependency in package.json
- Scripting through package.json
- Webpack Project
HTTP
- The HTTP protocol
- Creating web server
- Handling http requests
- Sending requests
- Building an HTTP server
- Rendering a response
- Processing query strings
- Using Representational State Transfer
- Configuring TLS
Day 2 - File System, Buffers, Streams, and Events, Modules and Unit Testing, Events, Express
File System
- Synchronous I/O
- Asynchronous I/O
- Path and directory operations
- __dirname and __filename
- Synchronous file reads
- Synchronous file writes
- Asynchronous file reads using Promises
- Asynchronous file writes using Promises
Buffers, Streams, and Events
- Using buffers for binary data
- Flowing vs. non-flowing streams
- Streaming I/O from files
- Streaming I/O from other sources
- Processing streams asynchronously
- Configuring event handlers
Modules and Unit Testing
- Modularization
- The CommonJS and RequireJS specifications
- Defining modules with exports
- Modules are singletons
- Creating a package
- Module scope and construction
- Unit testing frameworks
- What to test and how to test it
- Building unit tests with Mocha
Events
- What is Event Emitters
- When to use Event Emitters
- Binding Functions to Events
- Event Requests
- Event Listening
- What are callbacks
- Callback-last
- Callbacks: Error-first
- Errors in Event Emitters
- Uncaught Exceptions
- Using Domains
Express
- The model-view-controller pattern
- Defining Jade and Handlebars templates
- Building a front-end controller
- Defining routes
- Creating actions
- Configuring Express to use Handlebars
- Using REST
- Reading POST data
- Building Handlebars helpers
- Adding middleware
Day 3 - Data Sources, MongoDB?, Documents and Collections, Data Modelling
Data Sources
- How Node.js connects to databases
- Configuration and platform setup
- RDBMS databases and NoSQL databases
- Connecting to RDBMS and NoSQL databases
- Performing CRUD operations
- Building client requests to web services
MongoDB?
- The current SQL/NoSQL landscape
- Document-oriented vs. other types of storage
- Mongo's feature set
- Common use-cases
- Introduction to JSON
Documents and Collections
- Creating documents
- Managing documents in collections
- Iterating over documents
- Simple Queries
- Field equality tests
- Operators available
- Projections
- Limiting results and paging
Data Modelling
- Create Database
- Drop Database
- Create Collection
- Drop Collection
- Insert Document
- Query Document
- Update Document
- Delete Document
Day 4 - Queries, Simple Updates and Deletes, More Complex Types of Queries, Indexing, Mongo Replication and Sharding
Queries
- Field equality tests
- Operators available
- Projections
- Limiting Records
- Paging
- Sorting Records
Simple Updates and Deletes
- Field updates
- Field insertions
- Field removal
- Document deletion
- Existential field values
More Complex Types of Queries
- Existential field values
- Aggregations and groups
- Aggregations and groups in hierarchical data
- Updates and Arrays
- Altering array field elements
- Insertion to array fields
- Removing from array fields
Indexing
- The primary index and the _id field
- Problems requiring an index
- Defining secondary indexes
- Compound indexes
- Indexing 2
- Index selection
- Index hints
- Covering indexes
- Index storage size
- Indexes effect insertion and update speeds
Mongo Replication and Sharding
- Configuring replication
- Configuring sharding
- Accessing clustered data from client APIs
- Latency and consistency in replicated and sharded Mongo
Day 5 - Creating a REST API with Node.js, MapReduce, Mongo Security, Socket Programming
Creating a REST API with Node.js
- Introduction
- Setting up Node Project with MongoDB for API
- Mongo RESTful API
- CRUD operations through REST
- Adding Data (POST requests in Node)
- Retrieving Data (GET requests in Node)
- Updating Data (PUT requests in Node)
- Deleting Data (DELETE requests in Node)
- Authentication and Security
- Setting up our User Model for Authentication in Node
- Authentication Middleware and Securing Resources in Node
MapReduce
- Explanation of MapReduce
- Types of logic that can be expressed as MapReduce declarations
- Mapping documents
- Reducing values
Mongo Security
- Authorization and securing collections, documents
- The limits of Mongo's authorization scheme
- Authentication
- Mongo in the enterprise
Socket Programming
- Network Structure
- Classifications and Topologies
- Switching and Routing
- Gateway, Repeater, Hub, Bridge
- OSI & TCP/IP Protocol Layers
- Physical & Logical Addresses
- ARP & RARP Networking and TCP/IP Applications
- Internet Protocol
- Routing Protocol and IP Datagram
- Error and Control Messages (ICMP) UDP
- Transfer Control Protocol
- TCP Networking Applications
- (FTP, TFTP, TELNET, DNS, DHCP, SNTP, POP3, IMAP, SNMP)
Our Training Methodology
Practical Assignments
We provide hands-on assignments that requires practical implementation.
Virtual Coaching Sessions
Online coaching sessions that happen over the phone, via video, or on a web platform.
1 Year Access to LMS
Get access to learning resources upto 1 year of class completion.
Live Project Experience
Hands-on learning and training gives participants the opportunity to experience real world situations.
Online Assessments
Participants can assess reflect on their own learning and their level/skills.
Free Industry Webinars
Stay current on market research trends, learn best practices through our webinar sessions.
Key Features
- 40 hours of instructor led training
- Fully Online
- Class recording available
- Interactive Learning
- 8 hour Coaching Session
- 100% HRDF SBL-KHAS Claimable!
Pre-Requisites
- General programming experience and knowledge of HTML, CSS and JavaScript.
- Analytical Mindset
- Willingness to self learn online
- We will start from the very basics
- Committed to complete all tasks
Who Should Join
- Professional switching careers
- Web Developers
- IT Engineers
- Students
- New Programmers
Program Key Highlights
40 hours of Remote Online Learning
80 Additional Self Learning Hours
12 Live Hands-on Projects
Certified by International Body
Mentorship with Industry Experts
Designed for Beginners & Professionals
Request for more Information
Your Instructor
Thayanithy Jegan
CTO & Co-Founder of Thulija Technologies,
Certified Trainer and Consultant
Certified Trainer and Consultant
A seasoned technology professional with over 17 years of industry experience as a software developer, solutions architect and technology consultant for major organizations.
Thayanithy Jegan has trained executives and developers in companies such as Maxis, IFCA, SWIFT, PSDC, DHL, Standard Chartered, Infineon Technologies, Siemens and Bank Negara to name a few to break into various technology stacks and as well as data science, big data, and artificial intelligence.
He has led major projects with clients such as Suruhanjaya Syarikat Malaysia (SSM), MYCOID, Kementerian Kerja Raya, Ministry of Education (MOE), Universiti Malaya, Perfisio Solutions, Kementerian Perdagangan Antarabangsa dan Industri, amongst others. He has also served as a Consultant for MIMOS Berhad, a Research and Development organisation that functions as an advisor to the Malaysian Government on technologies, policies and strategies relating to IT.
Get Professionally Certified
Upon successfully completing this program, participants will be awarded the Professional Certification in Python Data Science by International Council for Technology Certifications (ICTC).
This award is a validation to the efforts taken to master the domain expertise that will set you apart from your competition.
Be a part of the global network of data science professionals and join the community across sectors.
Web Application Development using NodeJS and ExpressJS Training FAQs
1Do I Get A Certificate At The End Of The Course?
Yes.You will get a certificate at the end of the course from Thulija Academy.
2How Will The Labs Be Conducted?
Labs will be conducted through online means. Recorded playbacks are provided to participants after the sessions are over.
Get in Touch With Us Today!
This training program is suitable for anyone who intends to enter into the field of Software Development. This program is being conducted in Malaysia and can be joined by anyone, anywhere in the world remotely.
Program Fee
RM 3,700.00
One-time fee. One year access to course materials.
READY TO KICKSTART YOUR CAREER?
Please fill in the form and a Program Advisor will reach out to you. You can also reach out to us at info@thulija.com or +60123661502
Contact us on Whatsapp for more enquiries