[MUSIC] Hey, you're here early. You must have had a great time with Module 1 and ready to get started with Module 2. If you didn't finish the software installs, don't worry. I'm sure you had everything installed from the previous courses that was enough to get through the assignment with Module 1. You'll be able to go back in time, because I just put it there as a central spot to be able to go back and refer to any of the software. What we wanted you to do for the assignment for Module 1 is just shake all the rust off. But hey, wasn't it kind of cool with the multiple Heroku environments? I only had you build two, but as you go through the course, if you find yourself progressing through the course faster than your assignments are being graded, you may actually want to instantiate more than just those two environments. You saw how I had between six and eight. You can create one per assignment until it's graded and then go ahead and reuse that environment a little bit later and then save your production one for what you really want to show your friends, relatives, and future employers. In this module there's very little PowerPoint. We don't need to go to the conference room. We can just get started with your development environment right now. You can think of this as a review of courses four and five, but a little bit different. I'm going to be focusing on the transition from development to production, and I'm also going to focus on this being an Angular application developed in concert with Rails. We are going to approach this as the reason we're developing this Angular application is to front end our Rails server. In lessons one and two, I'm going to take you down three development environments. Asset pipeline, external development, and a hybrid of the two, of external development deployed to Rails using Rails as a web server. If you think back to your courses four and five development, that actually resembles the first two quite a bit. If you think of, you didn't worry about the transition from development to deployment, well, that's where asset pipeline actually fits in. Where if you follow the Rails convention, you really don't have to think about that transition. It'll do the right things in the development profile, and it'll do the optimized things in the production profile. The fact that you developed a separate source tree, and had nothing to do with Rails? Well, obviously that resembles the external development. However, once you start to see the optimizations that asset pipeline does for production, you're going to want to replicate that in the external development, and you're going to want to bring in tooling. And that tooling that I'll bring in as an example is Gulp, and we'll use Bower and Node Package Manager to kind of build a parallel environment for asset pipeline, sort of parallel approaches. And then the hybrid of the two where you deploy to Rails, you might say I liked using the external but I have no need to have two deployment environments. I don't need a separate Heroku and GitHub and the complications that come with that. I just want to deploy one place. Well, that allows us to do that. So by the end of lesson two we'll have three environments with an artifact deployed to each that are ready to instantiate a Rails application. And if you don't have time to go through all three, don't worry about it. I would suggest just going with the asset pipeline approach and skip the external development and the Gulp topics. They're there for the students that want to go down that path. In lesson three we'll develop that first Angular application, get our first module in place, our first page displayed up in all three environments. And in lesson four, we will build a client application that will manage a resource, served by Rails, with Angular JS. We will build a service that will communicate to the Rails backend. We'll build a controller that will establish a view model with data and call back methods. We'll establish a simple web page that we'll be able to plug that view model in and be able to manage the resource. And we'll encapsulate all that within a directive in a child scope and plug that easily into the main page. In these early modules, we're using a very simple data model to keep the application simple. However, we're integrating a lot of technologies along the way. So you can think of it as you're building your technical reference architecture. You're showing how many of the key components of what we talked about in Module 1 come together end to end. So that as the application gets much more complex as we get further into the course, you can still refer back to this and say, well, how did I do it when things were much simpler? Okay, we're ready to get started. Let's get going.