Lesson Weekend

This week we'll continue our exploration of the Angular 2 framework, by making more complex and dynamic applications.

First, we'll begin using Angular's CLI tool that will allow us to quickly generate Angular applications right from the command line. It'll also speed up our development process by offering capabilities to build and serve projects, lint code, and generate new components with boilerplate code already in place!

Then, we'll use something called a router to make dynamic, multi page applications. We'll learn how to pass information and data between different routes as we navigate, too.

Next, we'll learn about an important concept called dependency injection. Knowledge of this will allow us to create something called a service to manage the flow of data throughout our application.

Finally, we'll begin persisting our data in a database! We'll use a package called AngularFire to connect our Angular 2 applications to Firebase databases. We'll learn how to retrieve, save, edit, and delete database entries directly through our applications.

A Challenge to Expect

Be aware that this week we'll be working with tools/libraries that often depend on each other to achieve specific kinds of functionality in our apps (hint hint... services and databases!). As a result you may find yourself needing to come up with solutions that leverage the curriculum in ways that aren't immediately represented. Don't be scared to try something new or different! The only way to have an unproductive time is to encounter a problem and decide not to try and solve it!

Independent Project Objectives

This week your independent project will be reviewed for the following objectives:

  • Components are used to create display and behavior for templates.
  • A router is used to navigate between different pages, including at least one dynamic route.
  • A service shares data between multiple components.
  • Application can create, edit, and delete instances of a model, persisting all changes in Firebase.
  • Data is retrieved from Firebase and displayed in the application.
  • Models can be filtered using a custom pipe.
  • Project demonstrates understanding of week's concepts. If prompted, you are able to discuss your code with an instructor using correct terminology.
  • Project is in a polished, portfolio-quality state.
  • Required functionality was in place by the Friday deadline.
  • Optional: Application has been deployed.