Image for post
Image for post

In this article I will present my first week of progress on my personal project called AlgoShell — a coding challenge platform where users can use the command line to test algorithms on a file from their computer. This is in contrast to traditional platforms such as LeetCode and Hackerrank where users interact with an browser-based code editor to write and submit code. This weeks accomplishments are:

  1. Set up admin interface
  2. Automated database setup
  3. Created a basic API endpoint

Setting up the Admin Interface

The purpose of the admin interface is so that a website administrator can login and manage the questions that are being displayed to a user. After starting up the application, the admin interface is accessible on localhost:8000/admin where an administrator can enter their credentials into a login…

Image for post
Image for post


When I took my first programming course, we never used Git to manage our versions as development progressed. As a result, I found myself saving multiple versions of my program as I made small tweaks before submitting. This usually meant I had about a dozen poorly name duplicates on my desktop that I had to reintegrate into my development environment. In my rush to completed one of my last programming projects of the semester, I accidentally submitted the wrong version of the assignment. Little did I know that the submitted program version did not run and resulted in an F on the assignment. …

Image for post
Image for post

The importance of creating a virtual environment before starting a Django project and a walkthrough of how to do it yourself.


At one of my very first internships, I was tasked with the creation and development of a Django project. I had no idea what a virtual environment was so when it came time to deploy, I ran into some trouble. The problem was that it was very difficult to distinguish between packages that the project depended on and packages already installed on my computer. …

Today we will look at how to resolve a merge conflict if one should happen to arise when merging two branches.

Example Git History

Suppose we have a Git version history of a single file called 99_bottles.txt that looks like this:

Image for post
Image for post

Here are the contents of the two different versions of 99_bottles.txt:

On most recent master commit:

99 bottles of beer on the wall, 99 bottles of beer.
Take one down, pass it around, 98 bottles of beer on the wall...

On most recent alternate commit:

99 bottles of beer on the wall, 99 bottles of beer.
If one of those bottles should happen to fall, 98 bottles of beer on the wall...

In this walkthrough, we will be witnessing the power of being able to manage different versions of a file utilizing branches in Git. We start by creating a directory with a python file called

# Create the directory.
$ mkdir hello-world
# Go inside the directory.
$ cd hello-world
# Create the python file.
$ touch

We’re ready for our first commit! But first, we must create a new Git repository then do something called stage the file. After your first commit, create a new branch called feature — we’ll get back to it later.

# Initialize the Git repository. …


Andrew Robles

Software Engineer

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