Angular 8
Typescript & ES6
- Introduction
- What is Typescript
- Why Typescript
- Setup and installation
- IDE support
Scoping using Let and Const Keywords ( ES6 )
Template Literals ( ES6 )
Spread Syntax and Rest Parameters ( ES6 )
Destructuring ( ES6 )
Destructuring ( ES6 )
Power of Types
- Introduction
- Type inference
- Type Annotations
- Number
- Boolean
- String
- Array
- Tuple
- Enum
- Any
- Void
- Null and Undefined
- Never ( Typescript 2)
Explore Functions
- Introduction
- Using types in functions
- Function as types
- Optional and default parameters
- Arrow functions
- Function overloading
Classes
- Introduction
- Inheritance
- Access modifiers
- Getters and setters
- Read-only & static
- Abstract classes
Interfaces
- Introduction
- Optional properties and methods
- Read-only & const
- Strict structural contract
- Extending interface
- Implementing interface
Modules
- Introduction
- Import
- Export
- Default
- Default
Decorators ( Typescript Aspect Oriented Programming)
Working with Angular CLI
- Angular CLI
- Anatomy of the project
- Debugging Angular apps
- Working with Augury
Node JS
Introduction to Nodejs
- What is nodejs
- A word on eventloop
- Event driven architecture
- Blocking vs non-blocking code
- Setup nodejs
- Node REPL
- HelloWorld program
- Debugging nodejs app
Modules in JS
- Understanding exports and require
- Creating modules
- Importing modules
- Quick tour on npm
- Installing 3rd party modules
Events & streams
- Significance of Events
- EventEmitter class
- Emitting and listening to events
- Types of streams
- Working with streams
- Composing streams using pipe
Working with Process and File System
- Process object
- Handling exceptions at process level
- Listening to process events
- Working with file system using fs module
- Creating, Copying, Deleting files
- Creating, Copying, Deleting directories
- Watching for file changes
Express
Expressjs Introduction & Setup
- Installing express
- First App with express – Demo
- Little about routes
- Little about Express middleware
- Serving static files with express
- Express application generator
- What is expressjs
Routing in Depth
- Route Methods
- Route Paths
- Parametrized Routes
- Route Handlers
- Express Router
Middleware
- Types of middleware
- Application
- Router
- Error
- Builtin
- Thirdparty
- Error middleware
- Bodyparser, cookie parser, session management
Template Engines
- What are template engines
- EJS
- Jade
- Handlebars
Expressjs security
- Authentication
- JWT
- Securing routes
Debugging in Express
Realtime programming with Socket.io
Scaling nodejs applications
- The Child process model
- exec, spawn, and fork functions
- Using the Cluster module
Mongo DB
Introduction to MongoDB
- Installing MongoDB
- The current SQL/NoSQL landscape
- Document-oriented vs. other types of storage
- Mongo’s featureset
- Common use-cases
- MongoDB databases
- MongoDB Collections
- MongoDB Documents
CRUD Operations in Mongodb
- Creating documents
- insert()
- update()
- save()
Querying documents
- find()
- Working with equality
- Query operators
- Building complex queries
Updating documents
Deleting documents
Introduction to Mongoose
- Word on ORM/ODM
- Installing mongoose
- Connecting to MongoDB from mongoose
Core concepts of Mongoose
- Understanding mongoose schemas and datatypes
- Working with Models
- Using modifiers in schema
- Using virtual fields
- Optimizing query performance by enabling indexes
Extending Models
- Working with hooks
- Validation of model data
- Creating custom static methods
- Creating custom instance methods
- CRUD operations with Mongoose