More progress in practical app development: linking together a new domain name, recent tutorial work, and EC2 instances
One web development 'next step' I was looking forward to (after completing a whole bunch of back-end tutorials and one whopper of a full-stack tutorial mentioned in the last post) involved branching out by deploying a couple simple apps on my own via AWS EC2 instances.
The end of Colt's Web Development course had students setting up a deployment of the YelpCamp project through Heroku.com. I thought it was neat to watch those videos and learn about another option for deployment, but since I've already done a bunch of learning in the AWS ecosystem, I thought it would be fun (and practical!) to start blazing my own little trail by deploying on AWS instead.
At the same time - and since I'm planning to be pumping out quite a few more projects in the near future - I thought it'd be a good time to register a new domain name for exhibiting a budding portfolio. So, using AWS's Route 53 service, I got hold of bradleypmartinsandbox.com (no prepended 'www') for hosting my sandbox of new projects. [Note: for the next few weeks, it may be something of a crapshoot as to whether or not you can follow this link and find anything interesting. I'll probably be putting it up and shutting it down a lot while I figure out how I want it to function for the long term. I'd like to reach a state where it's highly available and can route users to a variety of project showcases. More on that in the future!]
I enjoyed doing my own Googling to roll through the process of configuring an EC2 instance to host one of the applications we made during the web development bootcamp. Loading up an Ubuntu image with many of the required packages for the simple user authentication app (pictured below) wasn't too much of a chore, especially with the help of the package.json file to help manage dependencies. The densest new material (though not that bad, either) was learning how to use NGINX to route HTTP traffic to port 3000 from port 80 (so I wasn't routing in user traffic with sudo privileges!) and making the slight changes to the app.js file to accommodate this protocol change.
There'll be much more to share soon. Thanks, as always, for reading, and enjoy a screenshot of today's HTTP interaction with my AWS EC2 web app.
Figure 1. Screenshot-ception! This is a capture I took with a basic user authentication app served up at my new sandbox location (bradleypmartinsandbox.com) through AWS EC2. MongoDB handles the data for user authentication, and user login simply routes to a 'secret page' where I've spat out some unstyled HTML and a link to a recent project screenshot (that you can probably find referenced a few blog posts ago). I'll look into HTTPS routing and user-friendly persistence of the sandbox domain soon (along with adding more interesting projects, of course!).