AngularJS 1.x End-to-End Programming

Course Description

The AngularJS End-to-End Application Development course provides a hands-on look at working with the AngularJS 1.x framework. The course starts with an introduction to building Single Page Applications (SPA) and talks about the features AngularJS provides. From there students learn about different aspects of the framework such as views and directives, controllers and routes, as well as factories and services. Along the way, different debugging techniques and tools are discussed, how different AngularJS components can be customized and shared with other components, and different JavaScript patterns that can be applied to applications to make them more maintainable. By the end of the class students will have walked through the process of building a Single Page Application (SPA) from end-to-end using AngularJS and be ready to apply that knowledge to applications they need to build at work.

This course is taught by Google Developer Expert (GDE) Dan Wahlin.


Dan Wahlin

Course Length

4 Days

You Will Learn

  • Single Page Application Features
  • Key features of AngularJS
  • The Role of Modules
  • The Role of Directives in Views
  • Building Custom Directives
  • Using $scope for Data Binding
  • Techniques for Defining Controllers
  • Building Custom Filters
  • How to build re-useable data services with Factories and Services
  • Using $http to Interact with RESTful Services
  • Using AngularJS HTTP interceptors


Attendees much be comfortable working with JavaScript to take this class. A minimum of 6-months of hands-on JavaScript experience is recommended to get the most out of the course.


This course is designed for JavaScript developers that are looking to build Single Page Applications using AngularJS.

Course Outline

  1. AngularJS JumpStart
    • Introduction to Single Page Applications
    • AngularJS and SPAs
    • Data Binding, Directives, and Filters
    • Views, Controllers and Scope
    • Modules, Routes and Factories
  2. The Customer Manager Application
    • Application Overview
    • Application Technologies
    • Application Structure
    • Node.js/Express/MongoDb
    • Web API/Entity Framework/SQL Server
  3. Unit Testing
    • AngularJS Unit Testing features
    • Using Karma and Jasmine
    • Creating a Test Suite and Specs
    • Using ngMock, beforeEach() and Dependency Injection
    • Mocking Objects
  4. Creating Modules and Services
    • The customerManager Module
    • Customer Manager Factory/Service Overview
    • The customersService
    • Making Ajax Calls with $http
    • The authService
    • The dataService Factory and BreezeJS
  5. Defining Routes
    • Adding the ngRoute Dependency
    • Configuring Application Routes with $routeProvider
    • Defining Route Parameters
    • Adding ng-view
    • Securing Client-Side Routes
  6. Application Controllers
    • AngularJS Controllers
    • The Scope Life Cycle
    • Application Controllers
  7. Navbar Controller and View
    • Navbar Functionality
    • The NavbarController
    • The Navbar View and Directives
  8. Login Controller and View
    • Login Functionality
    • The LoginController
    • The Login View and Directives
  9. Customers Controller and View
    • Customers View Functionality
    • The CustomersController
    • The Customers View and Directives
    • Paging Customers
    • Filtering Customers
    • Switching Display Modes
  10. Creating Custom Directives
    • The Role of Directives
    • Creating Custom Directives
    • Creating a Custom Validation Directive
    • Using $http Interceptors in a Custom Directive
    • Simplifying Code with a Directive
  11. Adding Animations
    • Animation Overview
    • The ngAnimate Module
    • Defining Animations in CSS
    • Referencing Animation Classes

Private Onsite/Online Pricing for Development Teams

Class pricing is based on the number of class days and number of students in class. We normally allow up to 24 students per class.

The course pricing includes student access to an electronic version of the course manual, lab manual, sample code and lab code. Courses can also be customized if you'd like to run a shorter or longer version of the course.

If you'd like more information on pricing or want to schedule a class for your development team please contact us and we'll be happy to provide addition details.

Contact Us

Public Classes

We don't offer public classes or one-on-one classes for individuals. For public classes we partner with Interface Technical Training and they offer instructor-led classes in Phoenix, AZ or online through their RemoteLive technology.

Training Courseware

Contact Us about licensing our courseware (slides, course manual, lab manual and code) for your own training courses.


Join Our Development Newsletter!