A tanfolyamról
The core of web development lies in building and maintaining cloud-based applications that are used for various purposes. So, to build an application it becomes essential to employ a standardised stack software. A combination of the technologies MongoDB, Express.js, AngularJS and Node.js, MEAN is the latest trend in full stack JavaScript development. A perfect progression for JavaScript developers, MEAN is useful because it allows the entire client to server code to be written in JavaScript. Its flexibility and open source nature are also huge advantages since it is fairly easy to learn and customize applications to suit one’s needs.
Java has been ruling the roost as the no 1 programming language for several years now. It is estimated that roughly there are more than 3 billion devices all over the world that run on Java scripts. So, MEAN, being a collection of prominent Java programming languages eliminates the need to hire different personnel for different parts of the application.
Learning MEAN Stack makes you ready for creating end-to-end encryption for cloud-ready applications with ease. The heart of MEAN Stack Development lies in its own web server and a database which can be used much more efficiently to create cloud hosting applications in a cost-effective and productive manner.
Individual Benefits:
- It is estimated that a well-versed MEAN Stack developer can get paid an average of $117,660 per annum.
- Individuals have multiple career options to choose from like, Web Developers, Computer and Mathematical occupations, etc.
- There is no need for knowledge of multiple languages, since they write the whole code in JavaScript language.
- There is a higher rate of employment.
Organisational benefits:
- Since MEAN Stack combines various vital JAVA languages it reduces the cost of developing an application.
- Node.JS being the crux of MEAN Stack is better than other programming languages like Python and PHP.
- Using standardized JAVA script enables the organization to reuse the code across the application, reducing unnecessary intervention in between running the applications.
What you'll learn
-
Build Mean Stack Application
Learn to build a MEAN Stack Application using new ES6 (JavaScript) and TypeScript in less time -
Build and route a basic SPAs
Understand how to develop and route a basic Single Page Applications (SPAs) using a Mean Stack -
Build RESTful API
Understand the process of designing a web app and RESTful API server using Mean Stack software -
Develop Module
Learn to develop different parts of an app like services, filters, controllers, and Directives -
Secure your app
Learn to develop and build RESTful APIs with Node.js and Express with several security features -
Model-driven forms
Learn to create database back-end and build dynamic Model-driven forms easier to unit test.
Who should attend
- Web Developers
- Technical Project Managers
- Technical Leads
- Aspiring entrepreneurs who want to build and test their own applications using MEAN stack
- Professionals and students who wish to learn MEAN stack
By the end of the course
you will:
- Get basic knowledge on typescript, ES6/ES7
- Be proficient with Angular core features, node, Expressjs and MongoDB features
you will have:
- Completed several hands-on examples, and 2 course projects which gives you basic to immediate skills of full stack development
- Prepared yourself with the foundational knowledge you need to begin a career of continuous learning.
We provide the course in English.
Tematika
Curriculum
1 Introduction to Node
Learning Objective:
By the end of this module you will learn about how node runtime works and the need for async programming.
- Installing Node.js
- Node’s Event Loop
- Writing asynchronous code
Hands-on:
Create an example of a restaurant which uses async communication pattern for accepting and serving orders.
2 Advance JS primer
Learning Objective:
By the end of this module you will get a deeper understanding on async programming syntaxes in JavaScript.
- Callbacks
- Closures
- Promises
- Async/await
Hands-on:
Define a problem and solve the same problem with different async programming styles.
3 Modularizing code
Learning Objective:
By the end of this module you will learn how to modularize nodejs code, how to use built-in and third party modules using npm.
- Understanding built-in module
- Techniques for modularizing JavaScript code
- Using require() to modularize application code
- Using npm for third-party modules
- Handling Exceptions
Hands-on:
Create a user defined module that uses built-in, third party and other user defined modules.
4 Events and Streams
Learning Objective:
By the end of this module you will learn how to code event driven node programs, also learn about streams to deal with large volumes of data.
- EventEmitter class
- Understanding Streams
- Reading and writing streams
- Using pipe()
Hands-on:
Redefine the restaurant module created in module 1 with event driven style. Also log the events to file using streams.
5 Accessing local resources
Learning Objective:
By the end of this module you will learn how to deal with file and binary data programming in node.js.
- Process Object
- Manipulating File System
- Understanding Buffers
Hands-on:
Create node program that performs CRUD with file system and also handle global exceptions.
6 Nodejs and the web
Learning Objective:
By the end of this module you will understand the low level http api in node.
- Handling web requests
- Building a web server
Hands-on:
Create a web server using http module.
7 Working with Express JS
Learning Objective:
By the end of this module you will learn the core features of express js framework.
- Installing Express.js
- Routing
- Parameters and queries in routing
- Building views using view engine of choice (ejs / jade / handlebars)
- Using blocks for layout
- Displaying data
- Working with forms
- Serving files
- Error Handling
Hands-on:
Create a web application and api that uses express features like routing and views.
8 Securing web apis with passport
Learning Objective:
By the end of this module you will understand the importance of security in web apps and how to secure apps using passport.js.
- Authentication & Authorization using local user
- Protecting API with JWT
Hands-on:
Secure the web api built in the previous module with JWT.
9 Real time communication with socket.io
Learning Objective:
By the end of this module you will learn how to make real time applications in node using socket.io.
- Understand the need of websockets
- Install and setup socket.io
- Develop real time dashboard
Hands-on:
Develop a dashboard application that updates the order stats in real time.
10 Scaling node apps
Learning Objective:
By the end of this module you will learn how to deal with child process and scaling of node apps.
- The Child process model
- Exec, spawn, and fork functions
- Using the Cluster module
Hands-on:
- Cluster the web api built in the previous module.
11 Unit testing with mocha & chai
Learning Objective:
By the end of this module you will learn how to write unit test code for node.
- What is unit testing
- Install and setup mocha and chai
- Write unit tests to test api
Hands-on:
Create unit test to the api.
12 Introduction to MongoDB
Learning Objective:
By the end of this module you will learn the difference between SQL and NoSQL, document vs other types of storages. You will learn how to install and setup Mongo. Learn how to connect to Mongo server using Mongo client.
- 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
13 CRUD Operations in MongoDB
Learning Objective:
By the end of this module you will learn how to perform CRUD operations on Mongo documents.
- Creating documents
- insert()
- update()
- save()
- Querying documents
- find()
- Working with equality
- Query operators
- Building complex queries
- Updating documents
- Deleting documents
Hands-on:
Work with Mongo client to create database, collection, documents. Retrieve, update and delete documents.
14 Introduction to Mongoose
Learning Objective:
By the end of this module you will understand the ODM/ORM and the need for Mongoose in node and Mongo powered applications.
- Word on ORM/ODM
- Installing Mongoose
- Connecting to MongoDB from Mongoose
Hands-on:
Install and setup Mongoose. Write node application to connect to Mongo using Mongoose.
15 Core concepts of Mongoose
Learning Objective:
By the end of this module you will learn the core features of Mongoose like schemas, models, modifiers, virtual fields.
- Understanding Mongoose schemas and datatypes
- Working with Models
- Using modifiers in schema
- Using virtual fields
- CRUD operations with Mongoose
Hands-on:
Create a node application that performs CRUD using Mongoose. Define Mongoose schema, Define model, Create model instance, CRUD using model instance.
16 Extending Models
Learning Objective:
By the end of this module you will learn about more features of Mongoose like hooks, validating model data, static methods vs instance methods.
- Working with hooks
- Validation of model data
- Creating custom static methods
- Creating custom instance methods
Hands-on:
Create Mongoose hooks to tap into the data creation and retrieval process. Use pre and post save hooks, create static methods and instance methods.
17 Introduction to Angular
Learning Objective:
Understanding what you will learn in this course.
18 Why Angular?
Learning Objective:
Learn about Single Page Application vs Multi Page Application, pros and cons of SPA vs MPA.
- Learn about the developer experience delivered by angular tooling
- Learn about the high level overview of the framework and its community
- User Experience similar to a Desktop Application
- Productivity and Tooling
- Performance
- Community
- Full-featured Framework
- Platform for Targeting Native Mobile not just Web Browsers
19 Understanding Angular Versions
Learning Objective:
Learn about the angular history and notable improvements on every version.
- AngularJS (Angular 1.x)
- Angular 2
- Angular 4
- Angular 5
- Angular 6
- Angular 7
- Angular 8
20 Typescript & ES6
Learning Objective:
Upon completion of this module you will gain insight how typescript is different from javascript, and will understand the new useful syntaxes of 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 )
Hands-on:
Create variables using let and const, create multi line strings with template literals, use spread and rest operators with functions, pull values for arrays and objects using destructuring.
21 Power of Types
Learning Objective:
Upon completion of this module you will gain insight about the typesystem of typescript.
- Introduction
- Type inference
- Type Annotations
- Number
- Boolean
- String
- Array
- Tuple
- Enum
- Any
- Void
- Null and Undefined
- Never (Typescript 2)
Hands-on:
Create variable with different TS supported data types.
22 Explore Functions
Learning Objective:
Upon completion of this module you will gain insight about how to use functions and how to take advantage of strict typing in function definition and invocation. You will also learn the functional style influenced arrow function and its pros and cons. Finally understand the typescript way of achieving functional overloading.
- Introduction
- Using types in functions
- Function as types
- Optional and default parameters
- Arrow functions
Hands-on:
Create functions with mandatory, optional and default parameters. Create arrow functions.
23 Classes
Learning Objective:
Upon completion of this module you will understand object oriented style of developing applications using typescript classes and also experience the power of encapsulation with typescript access modifiers and other important features of typescript classes.
- Introduction
- Inheritance
- Access modifiers
- Getters and setters
- Readonly & static
Hands-on:
Create classes with properties, methods and accessors. Implement inheritance.
24 Interfaces
Learning Objective:
Upon completion of this module you will understand the significance of interfaces in achieving the structural contracts along with the behaviour contracts. You will learn how to validate the shape of JavaScript Object and how to implement interfaces on classes.
- Introduction
- Optional properties and methods
- Strict structural contract
- Extending interface
- Implementing interface
Hands-on:
Create interface and use it validate object shapes.Implement interfaces on classes.
25 Modules
Learning Objective:
Upon completion of this module you will understand the significance of modules in JavaScript and their usage in typescript.
- Introduction
- Import
- Export
- Default
Hands-on:
Create modules and import them into other modules.
26 Decorators (Typescript Aspect Oriented Programming)
Learning Objective:
Upon completion of this module you will learn aspect oriented programming pattern with the help of decorator.
27 Working with Angular CLI
Learning Objective:
Upon completion of this module you will know how to setup Angular CLI and create a new project in command line tool. You will also gain insight about the project structure and the significance of project files. Also experience the debugging of your angular app in visual studio code and learn how to view runtime information with augury chrome extension.
- Angular CLI
- Anatomy of the project
- Debugging Angular apps
- Working with Augury
Hands-on:
Create a new Angular CLI project using Angular CLI, execute and debug.
28 8 Main Building blocks of Angular (Birds Eye View Of Angular )
Learning Objective:
Upon completion of this module you will get inside of birds eye view of Angular and its programmable members. This module lays the foundation for the entire course.
- Modules
- Components
- Templates
- Metadata
- Data binding
- Directives
- Services
- Dependency injection
29 Angular modules
Learning Objective:
Upon completion of this module you will understand the significance of Angular module system, and will also gain an insight on why modules are needed, how we create modules and the different kinds of modules.
- Why modules
- How to create modules
- Built in modules
- Root Module
- Feature module
Hands-on:
Create feature module and import feature module into root module.
30 Components
Learning Objective:
Upon completion of this module you will know the significance of components, how to create a component with different ways of attaching templates and styles.
- Introduction
- @Component decorator
- Component configuration object
- Custom components
- Component with templates
- Inline
- External
- Component with Styles
- Inline
- External
Hands-on:
Create component with inline and external template and styles, create component manually and with cli, also apply component composition by using a component in another component.
31 Templating
Learning Objective:
Upon completion of this module you will understand the Angular templating syntax and explore the powerful data binding features.
- HTML as template
- Data binding
- Interpolation
- Property Binding
- Event Binding
- Two way binding
- Template expressions
- Template syntax
- Attribute, class and style bindings
- @Input()
- @Output
- Template reference variables
- Safe navigation operator
Hands-on:
Use different data binding syntaxes in template. Implement property binding with @Input and custom event binding with @Output binding. Create template reference variables and use them in template.
32 Directives
Learning Objective:
Upon completion of this module you will experience the power of Angular directives and the different kinds of directives supported in Angular.
- Introduction
- Built-in directives
- Structural directive
- NgIf
- NgFor
- NgSwitch
- Attribute directive
- NgClass
- NgStyle
- NgModel
Hands-on:
Implement iteration and conditional rendering in template using structural directives and implement dynamic styling with attribute directives.
33 Pipes
Learning Objective:
Upon completion of this module you will understand Angular data transformation capabilities using pipes. Introduction
- Built-in pipes
- @Pipe decorator
Hands-on:
Use currency, date, json and other pipes to transform data. Apply the built in pipes in transforming data in classroom course project.
34 Forms
Learning Objective:
Upon completion of this module you will learn how to develop forms in template driven and reactive form styles along with form validation techniques.
- Introduction
- @angular/forms library
- Template driven forms
- Form and field validation
- Validation check with ng-pristine,ng-dirty, ng-touched, ng-untouched, ng-valid, ng-invali
- Show and hide validation error messages
- Form submission with ngSubmit
- Reactive/ Model drive forms
- ReactiveFormsModule
- FormGroup, FormControl classes
- FormBuilder for easy form building
- Validations using Validators
- Setting form model using setValue and patchValue
- Use FormArray to build repeated from controls or form groups
Hands-on:
Develop forms in both template and reactive forms along with validation. Also you will code form with most commonly used controls like textbox, drop down lists, checkboxes, radio buttons, buttons.
35 Dependency Injection
Learning Objective:
Upon completion of this module you will understand the significance of dependency injection in Angular and the different kinds of provider types in Angular.
- Introduction
- Why DI
- @Injectable decorator
- Custom service development
- Registering the service with NgModule using providers key
- Provider Types
- Class
- Factory
- Value
Hands-on:
Develop services and provide them as dependencies for components.Provide component at self, parent and root levels.Create 3 different types of providers.
36 Routing And Navigation
Learning Objective:
Upon completion of this module you will learn how to implement navigation in Angular, and you will also learn how to protect route with route guards.
- Introduction
- @angular/router library
- Configure routes
- RouterModule.forRoot and RouterModule.forChild
- RouterOutlet, RouterLink, RouterLinkActive
- Nested Routes
- Parametrized routes
- Route guards
Hands-on:
Develop navbar component that provides routing for application.Use route configuration at root module and feature module level, also protect routes with guards.
37 RxJs Primer
Learning Objective:
On completion of this module you will gain insight into observable pattern and implementation in JavaScript using rxjs library.
- Introduction
- Why RxJs
- Observable interface
- Streams
- Operators
- Subscription
- Subject
- Schedulers
Hands-on:
Create and use observables and operators.
38 HTTP Deprecated & HttpClient
Learning Objective:
On completion of this module you will learn how to consume remote api using http client Also understand the power of interceptors for better error handling.
- Setup installing the module
- Making a request for JSON data
- Typechecking the response
- Error handling
- Sending data to the server
- Making a POST request
- Configuring other parts of the request
Hands-on:
Create a service that uses HTTPClient to make CRUD operations.Add headers to requests and handle errors.
39 New Features in Angular 8
Learning Objective:
On completion of this module you will gain an insight about the new features offered in Angular version 8.
- New features in angular cli
- ng update
- ng add
- Angular Elements
- Updates to @angular/material
- CLI workspaces
- Building libraries
- Tree shakable providers
- RxJs 6 Support
- How to upgrade to Angular 6
Hands-on:
Create an Angular element and see how it can be used on an Angular application.
40 Testing
Learning Objective:
Upon completion of this module you will understand how to write unit test cases to test component, services and pipe.
- Introduction
- Testing in Typescript
- Testing Component
- Testing Service/Provider
- Testing Pipe
Hands-on:
Unit test a component, service and custom pipe.
41 Deployment
Learning Objective:
Upon completion of this module you will understand the differences between JIT compilation and AOT compilation; and also learn how to deploy Angular applications.
- Manually
- Using the Angular CLI with Ahead-Of-Time (AOT) Compilation and Tree-Shaking (removing unused library code)
Hands-on:
Demonstrate how to run AOT build and deploy code on simple HTTP server.
Kinek ajánljuk
Előfeltételek
Prerequisites
An individual should be familiar with:
- Basic knowledge of developing web applications
- HTML and CSS web languages
- JavaScript, IDE or Text Editor, Command Line Interface (CLI)
- Server-side development with any programming language.