DEV Community

Cover image for Project 1 Blog Post
MattMrak
MattMrak

Posted on • Updated on

Project 1 Blog Post

Hooray! Phase 1 down, 4 more to go. This was a great project and I really enjoyed using my creativity and new knowledge to create my own CLI Application. I decided to use a Studio Ghibli Films API so that my CLI could have access to external data. The API gave me access to an array of information containing film titles, a description of the film, the director, etc. This was used in my CLI as a result for the user choosing a specific option. I parsed the original API array so that my API would return a list containing only the titles. Then I called that list in my CLI as a result for the user choosing another specific option. The last option I made possible was the exit option. For this option I used the sleep () function as well as system “clear”. The sleep () function makes the system wait (x) seconds before the next action occurs. System “clear” has the power to automatically clear everything in the user’s terminal prior to that action. Two of the most interesting gems I found along the way are TTY-Prompt and Awesome_Print. TTY-Prompt has a wide range of functionality and you are capable of doing a lot with this gem. TTY-Prompt is the options and scrolling functionality of my CLI. View this link if you would like to see all of the functionality that TTY-Prompt has to offer “https://github.com/piotrmurach/tty-prompt”. Awesome_Print has amazing functionality as well. It takes a plain/ordinary list of information and ‘prints’ it in an ‘awesome’ way. Both of the gems I just mentioned can be found at “https://rubygems.org/”. When I first started this project I felt confident that I would get it done while running into minimal issues. That quickly changed as I reached a point where I felt like I had no clue what direction to go in or what to do. That was a very discouraging moment but I stayed persistent and eventually had a break through with my issue. After that I moved right through the rest of my project, and I am very satisfied with the result. If I had more time I would have loved to add more layers and functionality to my project, but overall, I feel like I made a great first project. I’m looking forward to seeing what Phase 2 has to bring, and I can’t wait for my next project!

Top comments (0)