Fullstack Dev

By Adrian | November 26, 2019

I’ll start with I am not a developer. I can script, and have been known to dabble in batch files, Pascal (remember that?) Visual Basic, VBS, PowerShell, C++, C# and Python, and using scripts I’ve been able to cobble up some amazing tools for myself and teams I’ve worked in. I’ve even attached nice looking GUI’s on my PowerShell scripts at times with MahApps or the lesser looking WinForms. These tools have only really been useful on the machine thats been running them. Anything that required a persistent data store was usually kept on the local disk or a network share, certainly nothing cloud based and usually as either a flat text file, CSV, XML or JSON file.

For some of my ideas to become truly useful they need to be easily accessible from anywhere, but also contain the required permissions so that no-one can just access it or worse, no-one can just modify the data within it.

So while I’m not a developer, over the years, I’ve picked up some key skills along the way in VSCode, Git, DevOps, JS, and AWS on top of the various coding languages I’ve used. It’s here and there and I’m starting to make things more useful as I try to test out more services through tutorials. So, I’ll have an idea, I know what services within AWS I need to use, but ask me to code that from a blank canvas, and it doesn’t happen because I have no idea where to start. I admit that it’s daunting, but being able to have full stack development as a skill in my tool chest would be a great skill to have.

This post serves more as some of the key resources I’ve used recently to get some experience with ReactJS. I’ve only just started, and Java is something I’ve always stayed away from, so lets add that into the list of languages i’ve touched now.

Programming with Mosh

I found Mosh to be an excellent teacher who slowly built up concepts to the point where you had something functional at the end. These were the videos I watched:

Link Length
Java Tutorial for Beginners [2019] 2:30:47
JavaScript Tutorial for Beginners: Learn JavaScript in 1 Hour [2019] 48:17
React Tutorial - Learn React - React Crash Course [2019] 2:25:27

freeCodeCamp[.]org

This fully featured course is given by Bob Ziroll. In this course you are taught a concept, asked to pause and try it yourself, then given a walkthrough of the solution. This helps reinforce your learning of the material. In fact you are discouraged a number of times at the start from just watching this end to end without getting dirty with code. Its quite a comprehensive course, and with all the hands on materials, expect the 5hr course to take a good day, perhaps longer.

Link Length
Learn React.js - Full Course for Beginners - Tutorial 2019 5:05:34

Walkthrough tutorial

While the above 10ish hours of YouTube were a great crash course, I found a full walkthough tutorial at Serveless Stack. I really like this for the following reasons:

  • It goes through backend server component development though AWS
    • serverless deployment
    • API gateway
    • Mock data testing
    • Cognito for user management
    • DynamoDB for data state
    • S3 for file uploads
    • Stripe.com for billing
  • It goes through front end development through react which ties all the above components together
    • Login/Logout functionality
    • User creation via Cognito
    • Row level permission based on user in DynamoDB/S3

Each step is explained along the way and the guide goes into detail about each step, and provides screenshots and code snips along the way. It is simple enough to copy/paste your way through it if you need too. I did come across a few quirks, but nothing that stopped me from getting to the end. Each page has its own dedicated comments section if you get stuck. Its quite a long tutorial, so give yourself a week to complete it. In fact, I’ve not fully completed it yet, I’m at the point where I’m integrating it with a CICD pipeline.

Parts of this code could easily be recycled and repurposed and I have a few ideas which I’d like to expand on later.

Have I mastered ReactJS? no not yet, but I feel only now I’m starting to get a grasp on how things work. I guess a journey of a thousand miles begins with a single step now doesn’t it?