My initial understanding of Thunk was way more complicated than it ever needed to be. Thunk in my mind was this magical piece of software that allowed you to make asynchronous API calls which would then update the state in your Redux store after that resolved.

While this is somewhat accurate that is not really what Thunk does. On the contrary. This is what your plain old JavaScript API calls do in conjunction with the actions that dispatch the data to your reducers which in turn update your Redux store.

What is Redux?

Redux put simply is just a big container for the…

Building a project in React for the first time came with many challenges for me. Without a doubt the number one challenge I faced was implementing OAuth.

The Problem

Since a React app is a completely separate application to any backend (Ruby on Rails API in this case), the state of data has to be carefully orchestrated in the request and response cycle in order to allow for a seamless app experience.

With the GitHub OAuth API there is a very specific flow that you have to follow in order to authenticate a user.

  1. A user has to be directed to your…

One of the biggest hurdles one has to cross when creating applications with vanilla JavaScript is maintaining the state of information that is relevant to your application while a user interacts with it.

My Application

In my Bulletin Board web application there are are many different “bulletins” that can be selected by a user, and based off the users selection, “bulletin boards” will be displayed that belong to that specific bulletin. (sorry for the excessive use of the word bulletin)

This was fairly straight forward. All that I needed to do was add an event listener to the input of the dropdown…

The overall concept of this project is as follows. A company is selling a uMMA B12 Deficiency test, the test needs to be delivered to a customer, who collects the sample and then registers the test (associating a unique test id with that customer) on the site before returning the test to the lab.

The Lab receives the test sample and performs the test. The Lab uses the unique test id attached to the sample to find that test in the database and enters the results accordingly. …

I’ve always imagined a social media of sorts where a user didn’t have pictures, posts, or videos but rather a profile that contained everything that connected them to the web and allowed them to display that to the world.

Well, turns out my idea wasn’t so original. Some notable companies doing this already are, Linktree, and Bytesize. But this didn’t stop me from doing it myself.

Setting Everything Up

First, I had to set up my database with the correct tables to host both the users, their links, as well as a join table to allow users to follow each other. …

While creating COVID Stats CLI there were a number of obstacles restricting me from creating a dynamic and flexible application. Most notably was how to deal with creating and managing attribute readers and writers.

Due to the nature of the API I’m using I needed to have access to many different key/value pairs.

Heres an example of an array with hashes inside it. Iteration was needed over the array in order to create a new instance of my Country class from each hash.

[{"country" => "USA", "cases" => 1234},
{"country" => "Norway", "cases" => 450}]

I also needed to assign…

Four years ago on a Tuesday evening in October, I was sitting in a Starbucks editing some photos and drinking a hot coffee. A man approached me and remarked on the image I was editing and began to share with me his background in photography and his work as a Software Developer.

He pulled up a chair, opened a website, and began editing the code using “inspect element.” He then showed me this image. He described how he constructed the image to its entirety using code except for the icons. It’s safe to say I was in awe. …

Yehuda Bortz

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store