Full Stack Development

Course With MEAN Stack

Become a Full Stack Developer
Utilizing Various Frameworks

5 Days / 40 Hours / 28 Modules
+ 3 month coaching + 1 year eLearning access

Full Stack
Course With
MEAN Stack

Become a Full Stack
Utilizing Various
5 Days / 40 Hours / 28 Modules
+ 3 month coaching + 1 year eLearning access
Master the fundamentals of MEAN stack and deep-dive into every aspect of it.

In this course, we focus on the field of MEAN stack development and describe the processes, algorithms, and tools for one to be a successful practitioner of MEAN stack. Students will be exposed to various frameworks that make up MEAN such as Mongo DB, Express JS, Angular and Node JS.
Key Learning Outcomes

This course will also give students a chance to understand the fundamental issues and challenges of machine learning which include data, model selection, and model complexity. This course will equip you with the necessary skills needed to excel in this field. By the end of the training program, you will be able to:

  • Master software programming concepts and implement them in real-life
  • Become an agile practitioner with the ability to quickly complete industry projects
  • Build an end-to-end application from scratch and test it
  • Test and deploy features seamlessly to production with minimal effort
  • Build a running, industry-aligned project from scratch

Course Modules Covered in the MEAN Stack training program
Day 1 - Introduction, Introduction to TYPESCRIPT, Introduction to Angular, Building with Components, Data and Event Binding


  1. Overview of ES5
  2. Installing Node and NPM
  3. JavaScript Basic Syntax
  4. Detailing on ES5 problems
  5. JavaScript project creation using NPM
  6. Introduction to TypeScript
  7. TypeScript Environment Setup
  8. Basic Syntax
  9. Types, Variables and Operators
  10. Decision Making and Loops
  11. JavaScript Functions
  12. Lambda Expressions

Introduction to TYPESCRIPT

  1. Overview
  2. Environment Setup
  3. Basic Syntax
  4. Types, Variables and Operators
  5. Decision Making and Loops
  6. Functions
  7. Lambda Expressions
  8. Generics
  9. Enums, Number and Strings
  10. Arrays, Tuples & Union
  11. Interface, Classes and Objects
  12. Namespaces
  13. Modules
  14. Ambients, Decorators & Mixins
  15. Exporting a module

Introduction to Angular

  1. Why Angular
  2. Angular Features
  3. Installing and Using Angular
  4. Creating the first Angular Project
  5. Architecture Overview
  6. What is new in Angular
  7. Summary

Building with Components

  1. Introducing the component
  2. Component Decorator Properties
  3. Template
  4. Inline Template
  5. Interpolation – Plain text, Object and Array
  6. Component Starter
  7. Integrating Bootstrap

Data and Event Binding

  1. Binding Syntax
  2. One-Way Output Binding
  3. Property binding
  4. Attribute binding
  5. Binding Events
  6. Setting Element Properties
  7. Two-Way Binding of Input Fields
  8. Input Binding Examples
  9. Summary
Day 2 - Attribute Directive, Structural Directives, Template Driven Forms, Services and Dependency Injection, RxJS and Observables, HTTP Client, Pipes and Data Formatting, The Angular Component Router

Attribute Directive

  1. What are Directives
  2. Directive Types
  3. Apply Styles by Changing Classes
  4. Applying Styles Directly
  5. Obsolete Directives and Property Binding
  6. Controlling Element Visibility
  7. Setting Image Source Dynamically
  8. Setting Hyperlink Source Dynamically
  9. Summary

Structural Directives

  1. Adding and Removing Elements Dynamically
  2. Looping Using ngFor
  3. Creating Tables with ngFor
  4. Swapping Elements with ngSwitch
  5. ngSwitch - Basic Syntax
  6. ngSwitch - Full Template Syntax
  7. Summary

Template Driven Forms

  1. A Basic Angular Form
  2. Binding Input Fields
  3. Binding the Form Submit Event
  4. Basic HTML5 Validation - "required" Attribute
  5. Angular Validators
  6. Displaying Form Validation State
  7. Displaying Field Validation State
  8. Displaying Validation State Using Classes
  9. Disabling Submit when Form is Invalid
  10. Submitting the Form
  11. Summary

Services and Dependency Injection

  1. What is a Service?
  2. Creating a Basic Service
  3. What is Dependency Injection?
  4. What Dependency Injection Looks Like
  5. Injecting Services
  6. Using a Service in a Component: Dedicated Instance
  7. Using a Service in a Component: Dedicated Instance - Example Code
  8. Using onInit to Initialize Component Data
  9. Using a Shared Service Instance
  10. Dependency Injection and @Host
  11. Dependency Injection and @Optional
  12. Summary

RxJS and Observables

  1. What is an Observable?
  2. Observable Operators
  3. Creating Observables Using Static Operators
  4. What is an Observer?
  5. Observer Example
  6. Subject
  7. Subject Example
  8. EventEmitter or Observable

HTTP Client

  1. The Angular HTTP Client
  2. Service Using Http Client
  3. Service Imports
  4. The Observable object type
  5. Making a Basic HTTP GET Call
  6. Using the Service in a Component
  7. Importing Observable Methods
  8. Enhancing the Service with .map() and .catch()
  9. Using toPromise()
  10. GET Request with Options
  11. POST Request
  12. Reading HTTP Response Headers
  13. Summary

Pipes and Data Formatting

  1. What are Pipes?
  2. Using a Built-in Pipe
  3. Chaining Pipes
  4. Using Custom Pipes
  5. A Filter Pipe
  6. A Sort Pipe
  7. Summary

The Angular Component Router

  1. Routing and Navigation
  2. The Component Router
  3. Component Router Terminology
  4. Setting up the Component Router
  5. Browser pushState and
  6. Routes
  7. The app.routes.ts File
  8. App Routes
  9. App Component
  10. Programmatic Navigation
  11. Passing Data During Navigation
  12. Creating Routes with Route Parameters
  13. Navigating with Route Parameters
  14. Using Route Parameter Values
  15. Retrieving the Route Parameter Synchronously and Asynchronously
  16. Query Parameters
  17. Problems with Manual URL entry and Bookmarking
  18. Fixing Manual URL entry and Bookmarking
  19. Summary
Day 3 - Introduction, Node Projects, HTTP, File System, Buffers, Streams, and Events, Modules and Unit Testing


  1. Foundation
  2. The Node.js framework
  3. Advantages of Node JS
  4. Installing Node.js
  5. Using Node.js to execute scripts
  6. Traditional Web Server Model
  7. Node.js Process Model

Node Projects

  1. The Node Package Manager
  2. Creating a project
  3. The package.json configuration file
  4. Installing Packages Global
  5. Installing Packages Locally
  6. Adding dependency in package.json
  7. Installing packages globally
  8. Updating packages
  9. Scripting through package.json
  10. Automating tasks with Gulp


  1. The HTTP protocol
  2. Creating web server
  3. Handling http requests
  4. Sending requests
  5. Building an HTTP server
  6. Rendering a response
  7. Processing query strings
  8. Using Representational State Transfer
  9. Node JS Console
  10. Configuring TLS

File System

  1. Synchronous vs. asynchronous I/O
  2. Path and directory operations
  3. __dirname and __filename
  4. Synchronous file reads
  5. Synchronous file writes
  6. Asynchronous file reads
  7. Asynchronous file writes

Buffers, Streams, and Events

  1. Using buffers for binary data
  2. Flowing vs. non-flowing streams
  3. Streaming I/O from files and other sources
  4. Processing streams asynchronously
  5. Configuring event handlers

Modules and Unit Testing

  1. Modularization
  2. The CommonJS and RequireJS specifications
  3. Defining modules with exports
  4. Modules are singletons
  5. Creating a package
  6. Module scope and construction
  7. Unit testing frameworks
  8. What to test and how to test it
  9. Building unit tests with Mocha
Day 4 - Event, Express, Data Sources


  1. When to use Event Emitters
  2. Binding Functions to Events
  3. Event Requests
  4. Event Listening
  5. What are callbacks
  6. Callback-last
  7. Error-first
  8. Callbacks: Error-first
  9. Errors in Event Emitters
  10. Uncaught Exceptions
  11. Using Domains


  1. The model-view-controller pattern
  2. Defining Jade and Handlebars templates
  3. Building a front-end controller
  4. Defining routes
  5. Creating actions
  6. Configuring Express to use Handlebars
  7. Using REST
  8. Reading POST data
  9. Building Handlebars helpers
  10. Adding middleware

Data Sources

  1. How Node.js connects to databases
  2. Configuration and platform setup
  3. RDBMS databases and NoSQL databases
  4. Connecting to RDBMS
  5. Connecting to NoSQL databases
  6. Performing CRUD operations
  7. Building client requests to web services
Day 5 - Introduction to MongoDB, Data Modelling, Queries , Simple Updates and Deletes ,Indexing and query optimization ,More Complex Types of Queries

Introduction to MongoDB

  1. Overview of MongoDB
  2. MongoDB fundamentals
  3. Architecture of MongoDB
  4. Database
  5. Collection
  6. Document
  7. Advantages of MongoDB
  8. Why use MongoDB
  9. When to use MongoDB
  10. Install MongoDB

Data Modelling

  1. Create Database
  2. Drop Database
  3. Create Collection
  4. Drop Collection
  5. Data Types
  6. Insert Document
  7. Query Document
  8. Update Document
  9. Delete Document


  1. Field equality tests
  2. Operators available
  3. Projections
  4. Limiting Records
  5. Paging
  6. Sorting Records

Simple Updates and Deletes

  1. Field updates
  2. Field insertions and removal
  3. Document deletion
  4. Existential field values

Indexing and query optimization

  1. Indexing theory
  2. Indexing in practice
  3. Query optimization

More Complex Types of Queries

  1. Existential field values
  2. Aggregations and groups
  3. Aggregations and groups in hierarchical data
Our Training Methodology
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
Your Instructor
Thayanithy Jegan
CTO & Co-Founder of Thulija Technologies,
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.
MEAN Stack 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.

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