Sinatra Project Update: I Love Me Book

In seven days I have coded the ability to create a service member account, add a book to it, and an award to a book. I have not added edit and delete functionality yet. But I will have that completed this week. And at best, I will complete a simple front-end design beyond the Corneal gem’s HTML and CSS styling, which I honestly do not want to utilize. If time permits, I’ll change it and make a design of my own, perhaps, with the help of some bootstrap code. Otherwise, I’ll submit the project and improve upon it at a later time. (In all actuality, I would like for this web application to become a legitimate deployed app in the far future.)

For the TL;DR folk: Far below the reading are some screenshots of the few CRUD operations I’ve coded, which are New and Show. Otherwise, the rest are my primordial thoughts and “feelz” on this little project.


Beyond simple textfield data entry by the user (as shown below), the real deal, I believe, is to eventually add the ability to associate documents with the text information through document uploads, and easy presentation of the documents into I Love Me Book. Obviously, the implied task is to utilize cloud APIs in the direction of this app as a centralizing resource. I feel like this is a golden idea!

Why make an I Love Me Book app?

To be clear, I don’t want to thwart cloud file storage services. I think it’s smarter to leverage them through APIs to build a powerful digital binder exclusively designed and tailored to each United States military branch through a seamless application that just works. The goal is easy compilation, easy navigation, and exquisite professional military presentation of documentation that can be searched quickly, and shared via all forms of digital communication “right out of the box,” in one place.

A physical binder, which we call an “I Love Me Book,” holds an organized and tabbed record of all of a service member’s military accomplishments and personally identifying information (PII). Sadly, the army is notorious for poor record-keeping. Hence, the “I Love Me Book” practice. To this day I have yet to find a well-designed all-in-one digital application built with the ease of Facebook, the resourcefulness of Google Docs, and the business sharpness of Microsoft 365, in which to accomplish the same thing digitally in one place. One can obviously rely on a conglomerate of disparate digital cloud services to produce the digital analog to a physical binder of military career documentation—which I do presently. But as I stated in an earlier post, it isn’t a fun and intuitive process that fits the direction the whole world is taking with regards to user and data interaction.

People don’t want bells and whistles alone. They want their data to reflect the dynamism of real life. This is why I love using a digital assistant. It is my data come to life, or as close to it as presently possible.

On that last point…

To my great chagrin, I find so many people in my social circles have a Gmail account, but are agnostics towards Google’s incredibly useful cloud applications. (I admit that I was one of them.) I am discovering—based on people’s actions, despite what they claim in words—that people want think-less mobile apps versus technical productivity tools like Google Drive or Microsoft Office 365. The traditional web (desktop or laptop with a browser) is becoming the practical equivalent of still traveling to brick and mortar businesses to pay your bills in 2018 as opposed to paying them online. (No offense to those who still do the former.) People don’t want bells and whistles alone. They want their data to reflect the dynamism of real life. This is why I love using a digital assistant. It is my data come to life, or as close to it as presently possible.

For example, you can go to instagram.com to look at your “gram.” But you cannot upload anything with a web browser. Instagram is a mobile app-based platform. Why? People have been trained to want apps and they want apps that make their lives happen—that is, the app gets out of your way and blends into your way of life, and never the reverse. Technicality, with its attendant complexities, is not in vogue anymore! Apple is the master at providing the tech-less experience through both its hardware and software, thus making tech-less tech a legitimate art and science in service to life in a complex world. This is true primarily because of Apple’s superb design philosophy, which informs their hardware design, user interface (UI) and user experience (UX) design, coupled with a preternatural forward thinking for what people fundamentally need and want through a humanistic lens.

With hard work and patience, I would like to provide a person-conscious solution—not just a static tool—for service members, available on the web and mobile. Finally, I will focus primarily on the Army to start. Later down the line I will incorporate the other military branches. Although the branches have similar operational structures as the US military wing, their respective terminology, digital forms, and operations are different enough to require some intensive research and familiarization to design for them.

Anyway…

I’ll build the web app version to start, obviously.


What follows is by no means a minimum viable product! However, I have been sketching on paper a conceptual framework for how an enlisted army career and commissioned army career looks and plays out. Then I want to translate them into how the service member would need to interact with their documentation, both in the compilation process and presentation within the application. I want to build I Love Me Book to stoke feelings of accomplishment and security in knowing one has a trustworthy platform with which to store and map a career. (Yes! I am concurrently thinking ahead of my current thinking ahead. haha!)

What you see below are the beginnings of fulfilling the project’s basic requirements. It will evolve. ;)

Screenshot from 2018-09-30 11-34-45.png
Screenshot from 2018-09-30 11-35-01.png
Screenshot from 2018-09-30 14-34-34.png
Screenshot from 2018-09-30 14-29-57.png
Screenshot from 2018-09-30 14-28-47.png
Screenshot from 2018-09-30 14-39-45.png
Screenshot from 2018-09-30 14-30-17.png
Screenshot from 2018-09-30 14-30-07.png


Sinatra Project: I Love Me Book

The United States Army has a cultural tradition of encouraging its members to create what is called an “I love me book.” At first, the phrase sounded very odd to me when I was first schooled on the practice. But it is the practice that makes the name so relevant and important! Generally, I keep a lot of mymilitary paperwork in the cloud for ready access when needed. But this created a new problem. I constantly have to sort through a file system to locate the documents that I want. And although I use a fairly uniform file naming system of my own, it does not avail data in the way that I want to review them.

So I came up with the idea of building a web application (and eventually a mobile version) that provides a comprehensive order of presentation based upon the natural career progression and processes of the United States armed services. At this time, I am only familiar with the Army’s personnel records handling and other administrative data handling. But I think for now this is a good start.

I will go into more detail about my app in a later post.

But, so far, I have built the frame of my project and successfully tested creating a basic user account with my app. I’ve also set it up a live deployment as I code it on Heroku. I’ll share the link when I complete my MVP.

Screenshot from 2018-09-24 21-56-00.png


Object Oriented Ruby Final Projects: Music Library CLI

I am one lab away from the CLI Data Gem Project. Although, I have gone over it to evaluate what I need to do to complete it.

Object-oriented Ruby has been one heck of a challenge so far, and I’ve enjoyed every moment, including the parts where I was stumped. I enjoyed the Music Library CLI project the most. However, the CLI Data Gem Project appears to be the most fascinating and open! By open, I mean that I like that I get to choose the content of my project, albeit with some training wheels still attached. But I digress… What the Music Library CLI project brought to bear regarding object relation is where I struggled the most. It was hard to quickly wrap my brain around the intricacies of how the objects were to be linked via methods. Moving forward my takeaway is to draw diagrams with a flowchart of objects to get the big picture. And since I am a big picture thinker, this is almost a must! I am a visual-kinesthetic learner. I must see and touch my solutions, or at least have some physical association with what I am learning.

On the more technical side of the house, these are the methods in the Music Library CLI project that gave me the most significant challenge:

Song Class Song.new_from_filename: Learned that I had to instantiate a new instance of Song.

Artist Class artist#add_song: The key to getting this to pass was the unlessconditional statement, which is the inverse of the if conditional. It just proved to be a far more elegant and efficient means of defining the method.

Music Library Controller Class All of the trigger methods took some careful reading of the test specs and greater thinking along the lines of iterating with an index–that is, Ruby’s each_with_index method, to be more specific. It saved the day! Also, I later realized that I’d be sorting objects, which reframed my entire plan of approach to elegantly and adequately coding specific list methods. It is important to remember that we are to take advantage of the object attributes to maintain well abstracted and efficient code throughout the entire project. So I called on the list of objects stored in the @@all class variables so that I could sort them, then call on their respective attributes to define specific list methods.

Overall, everything that I have learned has challenged me to think broadly–far more than I thought I already could. And the fact that I can learn to think more broadly than I ever have with coding has nurtured both a growing excitement and hunger to learn more.