Lesson Weekend

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

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

Then 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 data in a database! We'll use a package called AngularFire to connect our Angular apps to Firebase databases. We'll learn how to retrieve, save, edit, and delete database entries directly through our applications.

Also, be aware we'll work with tools that depend upon each other to function correctly. As a result, we may find ourselves seeking solutions in our own projects that differ slightly from those in the curriculum. (After all, every project is different, with different needs and functionalities!) After learning the basics in the examples throughout our lessons, you'll be expected to take them further, tweak them, and implement them in slightly different ways for slightly different projects. This is intentional.

Don't be afraid of trying something new or different! The only way to have an unproductive time is to encounter a problem and decide not to attempt solving it creatively! This is what developers do every day on the job!

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.
  • Application has been deployed.