Road to Software Engineering


Technology's Open Road

Out of the Pan and Onto the Rails

After finishing my Sinatra project, I jump into Ruby on Rails on my path to becoming a web developer. I am honestly very nervous and excited at the same time, but more so nervous. When I say there is a ton of information to take in I am not lying from ActiveRecord, to helpers and orms, to the rake database, frameworks, and MVC knowledge and the list goes on. It also hasn’t been without its hairpulling errors and stress days. Although even with all the down sides and stress I was having I will still keep moving forward and making progress to my goals like trains on “rails”. I am having a jumble of emotions during these uncertain times, but looking back on the progress that I am making each and every day makes me think that I can keep working hard toward the goals that I have set for my self and the knowledge that I am gaining. Learning Ruby, Sinatra, and Rails is something worthwhile becuase I am understanding the content that learning (I like to think of it as a factory”) as well as increasing my skills. I believe that by the end of this course I will be one step forward on my way to becoming a better with web development and hopefully maybe so web design, but that’s one step at a time.


Sinatra CMS Project - Video Game Database

This week I am finishing my Sinatra CMS project, and to keep with a theme I am doing a video game database. In this database, users can sign up using an email, username, and password this. After the user signs up or logins, the site will redirect them to the home page where they can add video games to a database on the server that holds all the video games that they have entered into a form. The add games form consists of the Game Title, the Developer, the Publisher, and the Genre of the game. Once the user has entered any of these boxes, the site will redirect back to the homepage with the added game in their list. This is similar to how in the Fwitter lab, users can sign up or login and once they were logged in(thanks to the helper logged_in?) they could make and delete tweets. When the users are done, they can log out and it will send them back to the home page. I have also added in my old college project to show that the site can also be redirected to something outside of its scope just a little call back to the video game wikipedia I made back in college.


Coding During Lockdown

Covid-19 also known as the coronavirus changed my entire lifestyle. Before the pandemic, I used to go to work, have some fun with my friends, then do some studying at work, and I would repeat that everyday. Although, now that I have been stuck inside for about a month my whole lifestyle changed. I have been doing a lot of more coding to understand Ruby, ActiveRecords, and even the lesson I am doing now, Sinatra. My entire schedule, I used to wait until work to do my labs now I have now created a new schedule where I get up early and do my readings and labs. The point is the coronavirus changed how I do my work and essential how I lived it has become the norm not to go outside and relax but moreso understand the frameworks and languages to understand databases and web apps to further propel myself into the future.


Class vs Instance feat Attr Accessor

Today, I had my first assessment and it went alright I did fumble a lot. I got back up, and I am going to try again with my newfound knowledge of class and instances. This eluded me during the assessment, but a class is the template or the “idea” that we used to create objects in the program that we are going to make. When developers work on a project they need a blueprint so they know the direction they want to proceed in. In Ruby it is the same, a class contains the instructions for creating those objects as well as having the ability to create said objects. When a person uses .new on a class we create a brand new object using our blueprint, but you may think how does that object work, well thats where the instance part comes in. An instance is the single occurence an object, when we as programmers use instantiate we breathe life into an object and that becomes the individual object produce from the class. In coding, we have class variables, methods, and scopes and we also have the instance version of these things.


Pokemon Database CLI

Ruby as a programming language is new experience for me a, and making a Ruby CLI was something I thought I would ever do. In the beginning this project was a struggle, I was brainstorming different CLI’s to make for this project I was asking my friends, writing down notes, making webs until someone gave me the idea to make a pokedex. I love my pokemon so hearing this idea made a light bulb appear and I immediately got to work on the CLI. I wanted to the scraper way instead of the api since I already knew how to use HTML and CSS. During the process of making this pokedex, I wanted to have my pokedex to showcase the pokemon number, name, abilities, species, type, height, and weight; things that you would see in the pokedex if a person was playing a pokemon game. I chose this site since other than serebii and bulbapedia, the pokemondb site is frequently updated with all the latest information about pokemon. As I got to the end of the project, I came across a whole slew of error, it was heartbreaking since it was just error after error. When I finally completed the the CLI I shouted, “I am done!,” I was excited to see it work with some hiccups such as some Pokemon not working for because of special characters. In the end, it was fun to make the pokedex since I creating a program that create get all pokemon from 1 to 890 with all of their information! The process was hard, but utilizing what I learned in Object Oriented Ruby and learning about Nokogiri and Open-uri really made the process easier and much more understandable. I would to make another CLI like this again in the future utilizing my HTML/CSS experience and my newfound knowledge of Ruby. It was a good final project that gave me execitement for future projects.