Image made by the author.

Complete source code can be found here:

Before we go into building the actual application, we need to take a quick step back to understand at a very high level what a REST API is. Ironically, REST APIs are not something new. It has been around since the year 2000 but has been very popular recently with the rise of JavaScript libraries. If you are curious about all the specific details, I’ll let you go ahead and read about it on Google as I am not trying to bore you with all these crazy details.

At a very high…

Some familiar tools and some you probably haven’t tried yet

Photo by Maxwell Nelson on Unsplash.

The terminal/command line is a sacred tool that developers have under their belt. It is possibly the most used tool for programmers. I believe that is because of how lightweight it is and also the unbelievable amount of things you can do with it. Some developers even go the extra mile to do everything inside of the terminal. Kudos to them.

I’ll be showing some of the CLI (Command-Line Interface) tools that I personally think are awesome and use pretty much on a daily basis. …

The things I wish I knew before becoming a programmer

People sitting at a desk coding
People sitting at a desk coding
Photo by Alvaro Reyes on Unsplash

As someone who teaches high school students about software development and also works in the field of software engineering, I tend to stress a few things that I would have wanted to hear when I was first entering the world of programming. Whether or not they listen to me is another story, but I would like to think that they do. These are some tips that I would have wanted to know, but had to find out on my own or through others later in my journey.

1. Don’t Be Afraid To Admit You Don’t Know Something

I think this is one of the most important rules when it comes…

Being smart with the limited time we are given each day

Photo by Hope House Press - Leather Diary Studio on Unsplash

Over the years, I have tried several different types of methods to help keep me focused and productive given the amount of time I have each day. While I was younger, these methods worked quite well. Now that I’m older and have more responsibilities across my day job and side hustles, it can be hard to manage all of the tasks well without losing track of time and without losing focus.

A good friend of mine showed me this article written by Jakub Kliszczak that goes over a simple framework on breaking your day out into five categories:

  • Low-result
  • Managerial

Build smart asynchronous apps

Photo by Ferenc Almasi on Unsplash.

AsyncStorage is a very important piece when it comes to building React Native applications. You may ask, “What is AsyncStorage?” It is a way to store data globally on the application that also persists offline. If you are familiar with web development, think of it as basically the React Native version of a session.

Data is stored via an unencrypted key-value pair on the application level, allowing developers to store specific data in there that is required for their application to work. The most basic example is keeping the user logged in after signing into your application. …

Source: GitHub | Kinsta

Today we will be going over a very overlooked feature that GitHub has. The feature I'm talking about is a profile README. What is a profile README you ask? Well, it is ultimately a README file like in any repository, but it is displayed on your profile page within GitHub. This means that it will be publicly viable by anyone that goes to your profile!

In this article, we will be going over why we even care about creating one, actually creating one, and then taking a look at some of the possibilities.

1. Why Create a GitHub Profile README

Why do we care about a feature…

Create command groups, flags, and more

Python logo next to a command
Python logo next to a command
Photo by the author.

Today, we will be creating a simple CLI (command-line interface) that is built in Python. More specifically, we will be using a popular Python package called click that allows us to accelerate this process. What is a CLI? It’s a tool that does something inside your terminal. The possibilities are limitless with CLI tools.

click has a lot of features baked in, so I will only be going over basic features to get you started. If you are interested in delving into the more complex features that click has to offer, check out the documentation.

1. Installing click

This tutorial assumes that you…

Photo by Avi Richards on Unsplash

I started Medium with three clear goals in mind. The first being able to teach others about what I know within the software engineering space. The second is to become a better writer. And finally, the last goal, to make extra cash on the side with the goal of it becoming a profitable side hustle. I tried to post once a week as opposed to some other writers on Medium that post more frequently.

I will be going over each month in more detail, highlighting the stats as well as my thoughts for each month. For those of you here…

Starting the year off right with some simple projects to get that ball rolling

Photo by Safar Safarov on Unsplash

The beginning of a new year is always a great time to set goals. Hopefully becoming a better developer or even to start programming is on that list of goals. If it is, then I hope this list of small projects can help get that ball rolling.

These projects are meant to be fairly simple so that you actually finish a project. You don’t want to start the new year with a project so grand that you cannot finish it.

1. Web Scraper

Web scraping is one of those tools that you always want to have in the back of your pocket. It’s…

Staying interested in your side projects can be hard with so many other things going on in life

Man staring off into the distance at sunset.
Man staring off into the distance at sunset.
Photo by nic on Unsplash.

I find that the most challenging part of a side project is not coming up with an idea but taking that idea to a finished product.

In this article, I’m going to go over a few strategies I’ve implemented to help keep me motivated on my side projects.

1. Define the MVP

This is my most important rule when it comes to staying motivated on side projects: the MVP. MVP stands for Minimum Viable Product. It is the minimum amount of features required to achieve functionality so that users can use it.

Eric Chi

Passion for learning, teaching, and creating cool software tools for others to enjoy.

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