RKCP Information Technology




MEAN
Home » Courses   » MEAN

MEAN

Overview

How to create full stack web applications with MongoDB, Express and Angular.js, and Node.js. Attendees build an MVC application using these technologies along with scaffolding provided by MEAN.JS.


Objective

  • Learn why server-side JavaScript is useful
  • Install Node.js
  • Learn how Node.js is architected to allow high scalability with asynchronous code
  • Create basic web applications with Node.js
  • Automate tasks with Grunt
  • Build an HTTP server using the core modules in Node.js
  • Use stream I/O to efficiently serve the web pages
  • Create modules to organize the server
  • Test the reliability of the application with unit tests
  • Convert the application to an MVC framework using Express
  • Interface to a MongoDB database and a web service
  • Understand Mongo as a data store
  • Be comfortable with Mongo's query and update languages
  • Work with the common use-cases and architectures of Mongo
  • Use Mongo's built-in JavaScript interpreter
  • Query Mongo using Mongo's JSON-based query language
  • Index Mongo collections
  • Handle data with Mongo's built-in MapReduce capabilities.
  • Understand the design of single-page applications and how AngularJS facilitates their development
  • Properly separate the model, view, and controller layers of your application and implement them using AngularJS
  • Master AngularJS expressions, filters, and scopes
  • Build Angular forms
  • Elegantly implement Ajax in your AngularJS applications
  • Write AngularJS directives
  • Unit test and end-to-end test your AngularJS application
  • Possess a basic understanding of AngularJS’s native services
  • Create custom Angular services
  • Understand how Angular processes directives, including directive scope, priority, and transclusion
  • Build custom directives
  • Implement basic user interfaces with Angular Forms
  • Make Angular work with your chosen UI widget framework
  • Write more sophisticated end-to-end tests

  • Prerequisites

    Should have a thorough knowledge of JavaScript and be familiar with web application design concepts (such as accessing databases and SOA concepts), as well as basic HTML and CSS.


    Syllabus

    Expand All
    • 1. Introduction to Node.js
      • Installing Node.js
      • Node's Event Loop
      • Alternatives to Node.js
      • Writing asynchronous code
    • 2. Modularizing code
      • Understanding built-in modules
      • Techniques for modularizing JavaScirpt code
      • Using require() to modularize application code
      • Using npm for third-party modules
      • Handling Exceptions
    • 3. Events and Streams
      • Understanding Events
      • EventEmitter class
      • Understanding Streams
      • Reading and writing streams
      • Using pipe()
    • 4. Accessing Local Resources
      • Process Object
      • Manipulating File System
      • Understanding Buffers
    • 5. Node.js and the web
      • Handling web requests
      • Building a web server
      • Understanding the need for web sockets
      • Realtime interaction using socket.io
    • 6. Building web applications using Express.js
      • Installing Express.js
      • Routing
      • Parameters and queries in routing
      • Building views using Jade view engine
      • Using blocks for layout
      • Displaying data
      • Working with forms
      • Serving files
      • Working with cookies and sessions
      • Authentication and authorization
      • Error Handling
    • 7. Scaling Node applications
      • The Child process model
      • exec, spawn, and fork functions
      • Using the Cluster module
    • 8. Node.js Eco System
      • Node Packages
      • Packages of interest
      • Deciding Factors
    • 9. Monitoring
      • Monitoring Node.js processes
      • Detecting Memory Leaks
    • 10. Advanced
      • Configuration Node processes
    • 11. Introduction to Angular.JS
      • How Angular.js is opinionated
      • Difference between Backbone.js and Angular.js
    • 12. Angular.js Building Blocks
      • Controller Component
      • Model Component
      • View Component
      • Directives
      • Filters
      • Services
      • DI in Angular.js
    • 13. Anatomy of an Angular.js Applications
      • Creating Boundaries using ng-app
      • Model View Controller
      • Templates and Data Binding
      • Repeating elements in templates
      • Using Expressions, CSS Classes and Styles
      • Using Controllers for UI responsibility separation
      • Responding to model changes
    • 14. Data Binding in Angular.js
      • Understanding Built-in Directives
      • Scope resolution
      • One way and Two way data binding
    • 15. Using Filters
      • Filters Overview
      • Understanding Filter Expressions
      • Building custom Filters
    • 16. Services
      • Services Overview
      • Modularity using Services
      • Injecting Services
    • 17. Directives
      • Directives Overview
      • Creating Directives
      • The Directive Definition Object
      • Compilation and Linking
      • Creating Components
    • 18. Communicating with Servers
      • Communicating over $http
      • Configuring the requests
      • Sending Http Headers
      • Caching Responses
      • Request and Response Transformation
      • Using RESTful Resources
      • Communication over WebSockets
    • 19. Unit Testing
      • Testing Models using Jasmine
      • Test considerations for Directives and Filters
      • Using Angular Mocks
    • 20. Modular JavaScript
      • Techniques for modularizing JavaScirpt code
    • 21. Miscellaneous
      • Overview of OSS Angular Modules
      • Customizing Angular Modules
    • 22. Overview
      • *NoSQL*
      • What is MongoDB?
      • JSON primer
      • When / why should you use MongoDB?
    • 23. Installation and Administration
      • Java Environment
      • Installing MongoDB
      • Starting and stopping MongoDB server
      • The JavaScript console
    • 24. MongoDB Basics
      • Servers
      • Databases
      • Collections
      • Documents / Objects
      • CRUD
      • Indexes
    • 25. Clients and drivers
      • Overview and integration
    • 26. Building applications with MongoDB
      • Overview
      • Getting started
      • Examples and labs
    • 27. Advanced querying
      • Projections
      • Conditional operators
      • Limit and skip
      • Aggregation and grouping
      • Map / reduce
    • 28. Security and Authentication
      • Overview
      • Best-practices
    • 29. Performance and scaling
      • Master / slave
      • Sharding
      • Profiler
      • Import / Export and backup strategies
    • 30. GridFS
      • Overview