[MUSIC] In this module we're going to be talking about development environment setup. We're going to get started with the software installation, we will be going through many software installations as a part of these instructions. Much of what we're going to install will be used during this module. However, there are some significant installations that are not going to be used until later in the course. But we want to cover them here for completeness. The good news is it's assumed that you've already installed and have a fair amount of familiarity with a significant number of the items that we'll be talking about. However, I do want to point out that more than likely you'll have to upgrade your installation of PhantomJS, because the previous courses really didn't stress out the JavaScript testing. And we want to make sure that your headless browser is up to snuff before we get into some detailed testing. Also, previous courses didn't stress having PostgreSQL, they relied on SQLite. It's ideal that you have that installed, it's not the end of the world if you can't. But the Rails-api, is just a gem, it's going to be a simple install. Chrome Driver, that's going to be needed for doing Selenium testing, so we do need Chrome. Obviously the latest just as a browser, but there is driver between Selenium and Chrome that needs to be in the 2.25 level. Firefox. This browser is going through a major architectural change that the Selenium drivers to Firefox are a little slow in catching up to being full capability. So if you are going to use Firefox with Selenium as an alternative to Chrome with Selenium, you have to make sure that you have the v45.x Extended Support Release version installed. The current release of Firefox is around 50, and in order to go back to 45 ESR, it is hidden in the weeds and we have to know where to go to look for it. ImageMagick, that'll be used to scale down, and adjust, and manipulate our images. We need to make sure that we're at the version 6 of ImageMagick and not 7. With ImageMagick 7 they changed some of the commands, the command lines to that application, and we are using a gem that relies on the command line interface to that. So make sure that you're paying attention to the version that's going on there. We're going to be demonstrating the installations on three platforms, MacOS El Capitan, Windows 10 Home, and Linux in a Docker form. This assumes that you are familiar with OS that you'ill be watching, you don't need to watch all three, you only need to watch the one that you've installed. And if you've got most of the products installed, you can skim through it pretty quick. The Linux and Docker instructions are satisfying two things at once. For one, I wanted to show Linux installations, and they are shown inside of Docker VM's. Two, you know how I've said that testing's a first class citizen as a part of a capstone. We need it as we start building up capabilities. So you'll notice that all the examples that get posted are Docker ready so that I can deploy them to my automated build server. And be able to much more earlier detect that there's an error in one of the solutions. This is not a course in Docker. If you go down that route, I'm assuming that you already know Docker and just as much as Windows and MacOS, you're just looking to say, how do I do some things that I'm used to doing with these new technologies? Okay, so based on what we've covered, we know as we go through the OS specific instructions we're going to see many of the products we probably already have installed in the past, may need to do an upgrade of, but at least what it does is it gives you a mindset as to the various tested platforms. That have gone into the capstone, and how your environment might relate to that. Some of the items that we're installing aren't going to be used right away. They will be used in the coming modules, but they were important enough, and we wanted to be all inclusive, to cover them now. So let's get started in verifying that our platform is ready for the course.