Let's take a look at how to build a random fruit inside of a Flask application. How would we do this? Well, there's a couple of things to consider. The first part is building a structure for your project. In this case I have an application, a requirements file, a test app, a make file, and also a build systems configuration file. These are all the assets that are used to a project inside of a continuous integration environment, but also in our environment, we're going to use just a little bit more code to build a microservice. Let's go ahead and get started. The first thing I'm going to do, is I'm going move over to an environment where I have this code running, then I can walk you through this structure. The core components are first this application. Notice this is a small amount of code and it generates a random fruit, so it takes this choice right here of one of these fruits and returns it and then I build out a route. In this route right here is just the homepage of a web application and it returns back this random fruit from this function up here. Then notice I have a template where I do a little bit of HTML and I pass in the value from this random fruit function into this template. Let's go ahead and take a look at the template. Here we go. It is a HTML template and the only thing that's different if you're familiar with HTML is I have this template right here that's able to render out the value. Finally, if I go down to the make file, you can see I have an installation, I have a lint, I have a test, I have a format, and I have it all. Let's go ahead and test the local continuous integration, I'll type in make all, and you can see here it goes through and it test my installation. It then next goes after the lint and it makes sure that my code is lint in. Then I also go through and I do a test that tests all of the project. Notice this test up here is a very simple test that just says, is either the apple or the cherry or the orange should appear in the output of this random fruit function. Really that's it. That's the basic structure for my application. I'm going to go ahead and run it by typing Python app. Once I do this, notice that in this particular development environment, which is GitHub Codespaces, it allows me to open a browser and preview this application. I'll go ahead and use this. There we go. We see this web application generates random fruit. That's the random fruit. Notice it says, refresh the page for more random fruit. I'm going to go ahead and refresh, and if I keep refreshing, it will keep generating different random values. Now because it's random, not every refresh will return the same value, it will only return whatever value that particular function returns at the time. But in a nutshell, this is a great workflow for building out a small based microservices, and noticed all the requests here, pop-in. What if we want to go ahead and look at how the test system works? Because again, remember, here we have these tests values inside of this application. Well, what we can do is if I go to this template, I can take a look at this build system file and it's going to do the same things that I did earlier, make install, make lint, make tests, and make format. If I go through here, I can go to GitHub actions and I can actually select one of these things and I can say rerun all jobs and I'll go through here and it'll run the job. Normally it would trigger on the build, so if I wanted to make a change to the file, it'll automatically test my project. This is the great thing about having continuous integration for your microservice, is it sets you up for success, really gets everything running in a way that will make it easy for you to do continuous integration.