The Mod 1 Journey

Amer Fahmy
4 min readJun 2, 2020

The first CLI app I ever built!!!

In this blog I will cover the very first CLI application I built during Mod 1 at Flatiron School’s Software Engineering Program.

The Build-up

With every day passing during mod 1 the amount of work could feel overwhelming at times. You start to realize learning new topics get exciting when it finally clicks. Seeing those green lights on your screen after a successful lab gives you the greatest feeling of accomplishment.

The labs and lessons provided by Flatiron School not only teach you the fundamentals of coding but it builds up to a project to show off what you’ve learned. Something that feels impossible at first but with hard work and dedication it’s very possible!

Before you know it, it’s finally project week. I’m thinking to myself where did the time go, can I actually do this. Every possible “what if” situation was going through my mind. After I cleared my mind and got to work I started realizing how much fun it was to create something from nothing.

The Office

The project I chose to do was called Scott’s Tots! With inspiration from my favorite show “The Office”. This CLI app’s purpose was to enroll your child in a daycare.

The Project : Scott’s Tots

In Scott’s Tots the user was able to add their child’s information to a database and enroll their child to one of three daycares. It also gave them the option to edit their child’s info or take their child out of daycare.

The app was structured to keep the child’s information in the database when the user took the child out of daycare. Just in case the user changed their mind and wanted to re-enroll their child.

The app was created using CRUD (Create — Read — Update — Delete) and three Models (Child, Daycare, Enrollment) using a many to many relationship.

The CLI app worked as follows:

  1. The user is able to create an account for their child. Using their name, age, and any allergies they might have.
  2. The user is able to view the Daycares and when they’re returning to the app they can look-up their child’s name and it will return the name followed by a greeting and options.
  3. The user is able to choose between the three available daycares.
  4. The user is able to take the child out of daycare (Delete Enrollment).
  5. The user is able to update their child’s information.

I used TTY-Prompt which allowed the user to add their input to the app. It’s a very handy gem. I highly recommend it. I was new to TTY-Prompt so there was a bit of a learning curve but extremely useful once you understand how to use it.

When everything is coded and the app finally functions properly after hours of work it was time to make it look pretty.

Even though it was only a CLI app there were plenty of gems available to add art and color. It was probably the most entertaining part of building the app. The color made it pop with the colorize gem and adding ASCII art just made the app come to life.

ASCII ART

When my app was finished it was the greatest sense of accomplishment. It felt like yesterday we were just learning about arrays and hashes. In a blink of an eye, you’re building something by yourself.

With amazing classmates, talented coaches, and instructors that prepare you with all the tools and knowledge you need to succeed I was able to build something that actually worked. It was always good to know anytime I was stuck they were there to lend a helping hand.

--

--