End of Week 4 of VCS

I have completed week four of the intensive Viking Code School program, which officially marks my cohort as a quarter of the way finished with the program. It has been a long, fun and challenging journey so far with so much learned and so much left to learn.

This week we worked almost exclusively with Ruby on Rails, a web development framework that makes your life a lot easier if you want to build and deploy web applications as fast and efficiently as possible.

The first few days comprised of essentially being thrown into the deep-end and playing with Rails to see how it works. We went through an extensive tutorial that guided as in building a very basic blog app. We learned the insides of generating a new Rails app and the general file hierarchy, the MVC, or Model-View-Controller architectural style that Rails adopts, the asset pipeline and how easy it is to use, RESTful routing and how important it is to follow, and how using third-party gems can add extra functionality to your Rails App (which is already just a bundle of seven other gems).

With that being the general overview of what we learned from Monday to Wednesday, the real fun began when he had a mini solo Hackathon on Thursday. We were tasked with building a Rails app from scratch that had to meet two basic requirement: We were required to use in some way the Star Wars API, or SWAPI, and we had to deploy our application to Heroku. Everyone had different ideas ranging from creating a statistical overview each character and categorizing them by movie, to creating a Star Wars TripAdvisor themed application. A settled on using the Star Wars opening crawler and creating an application that gave the opportunity for people to change the opening introduction crawl from each movie, and having that introduction displayed in a similar fashion as the one on screen with music playing.

The entire process was a great learning tool. It was the first time that we were given near total creative control in creating something, and we had to create a working product in a time-constrained environment that was deployed and ready to use, no matter how bare-boned we though it may be. Throughout the process I realized in my head that I had ideas that I was not going to be able to implement in time and had to scratch, but I was able to complete what I wanted to in the given time.

Even though programming is very analytical and logical in nature, or so I had the impression, it truly is creative in nature as well. You can be a very talented programmer who knows how to solve very involved problems, but you also need to be create if you plan on creating a web app. It has to be something that is feasible, something that will be practical and have some kind of worth, and an application that people are willing and want to use. The entire day was a fun and great learning exercise.

We topped off the week on Friday by learning more advanced database relationships in Rails and basic SQL. The following week brings more SQL, more Active Record, a gem with Rails that communicates with the relational database, and creating and validating forms in Rails. Thanks for reading!

If you want to look at my mini hackathon creation, here it is: https://fierce-coast-90445.herokuapp.com/