Building Rungs: Deploying An MVP on Openshift (Prelude)
This post is a continuation of the “Building Rungs” series. The first post is here.
Remember when you were a kid and you would count to 100 by going “1, 2, skip a few, 100!”? That’s basically what I’m doing with this blog post. I had started off doing a pretty solid job of documenting my journey of building a web app, but it proved to be more difficult to maintain than I thought. In my last post I mentioned that I chose Laravel, and now I’m suddenly ready to write about deployment. What happened over February, March and April? First, I’ll reiterate that this is a very part-time project. I have a somewhat demanding job and can sometimes go days without touching any code. Now that I got that excuse out of the way here is what I’ve been up to:
Thanks to Jeffery Way’s Laracasts, I was able to learn Laravel Fundamentals. Through that series of tutorials I built a simple blog application with basic authentication. Along the way I had to install/get familiar with composer, nodejs, xampp and bower. I also had to install ruby and git. So aside from just learning a PHP framework, there were a bunch of tools to play around with as well. (Side note, all of those tools are ones that are best added to your system PATH, if you’re using Windows, so that you can use them from Command Prompt. At one point they all got erased from my PATH and I had to do a somewhat crazy process of getting them back.)
Laracasts taught me some great fundamentals and a different tutorial taught me just a bit more. It taught me how to make a basic ToDo list application, although not one with any authentication. So, using what I learned at Laracasts and combining it with what I learned from Flynsarmy, I was able to make a simple ToDo list application with basic authentication. Once I had that going, I was able to turn it into a very basic goal tracking app, which allowed users to create projects and have a visual indication of how much time they had to complete their goal. As a first feature, I added the ability for users to keep a journal as they went, and settled on this being the MVP level of the product.
Building a Basic Front-End
Finally, I wanted to see what it actually looked like online and I wanted to be able to get feedback from friends and family. So I did a little bit of research to see what it would take to put my Laravel app online. Turns out shared hosting, like my JustHost account, is not the way to go, but Openshift by Redhat makes it easy. I’ll write more about this process, as well as the many things left to do to bring my MVP to an even better state, in the next post.