Rails Project: Vacay

It’s been a while since I’ve shared a project on here, and that’s because I have been wrestling with Rails since then. Oh Rails, it’s been real. Every section has had its challenges, but Rails was like little mind explosions every other day. It’s an incredibly powerful framework, you just have to learn its patterns, which took me a while.

tl;dr, here’s a quick video walkthrough of the simple vacation tracking app I built with Rails, OmniAuth, and Devise. I am kind of slow and rambling through this ~ 9 min walkthrough, so feel free to watch on doubletime! 

Read more

Study Tips from the Road

Screen Shot 2016-04-29 at 2.06.23 PM

Hi there! I haven’t blogged here in a while, so I thought I’d give a quick update on how my program is going. I’ve made decent progress in the month since my last update.

All told, here’s what’s left. Basically I have three major project/assessments and AngularJS left.

  • * Rails: 1 lab & 1 final project
  • * JS: 5 labs
  • * Rails + JS: 3 labs & 1 final project building on top of the Rails final project
  • * AngularJS: 55 lessons/labs left & 1 final project

Of course I always wish that I were further along, but I think that I can definitely see the end 😀 . And considering that I was traveling for half of April, it’s not too shabby! Having the flexibility to travel was one of the reasons that I chose to study with an online program, although I admit that I had my doubts about actually getting anything done on the road.

Here’s what’s helped me stay on track with studying while visiting New York, Philadelphia, and Los Angeles:

  • * In general, have everything you need to work ready to go in your bag: for me, that’s my computer, music/headphones, coffee mug, notebook and my cellphone to use as a hotspot. Having those things on me at all times made it easy to bang out a couple of labs during travel downtime.
  • * It’s worth the space to pack your best headphones. My Sony MDR-7506 over ear headphones are large, and take up precious real estate in my backpack, but packing them was a great choice. I was able to block out lots of the annoying sounds of travel (babies, airplane hums, sorority girl banter…). Invaluable. Also, I don’t know exactly when this happened, but I guess since I wear them so much when I’m coding, putting the headphones on puts me in the mood to work. Pavlovian response I suppose.
  • * Study what you can in the hotel, but try to get out and about. Look for unusual spots to study: bars, park benches, train stations, Shake Shack 🙂 . Work that hotspot, or pre-load relevant content onto your phone before you head out (podcasts, videos, books).
  • * In New York I made it a point to stop by and study in my bootcamp’s physical location. It was something akin to visiting the motherland, LOL. Very inspiring and definitely motivation for me to work harder.

flatiron

  • * Try not to feel too guilty about balancing fun / studying. If possible, pre-plan your hours for working vs. touristing. I tried to spend the morning and late evening studying, which became my “routine” after a couple of days.

I don’t have any more trips planned until a wedding in late May, so hopefully the next time that I post I’ll be sharing my Rails app. Just gotta commit to a project idea first…

Hump Day

I’m having a hard time concentrating today, so I thought that I’d take a break to assess where I am in my program. Honestly, I can’t believe that it’s the end of March! As I mentioned earlier this month, I was hounded by this feeling of being “behind”, due to basically taking January off to earn some $$$. Totally reasonable, but I just couldn’t shake it.

March in Review 

Anyways, I busted ass in March, upping my study time to ~55 hrs/wk from ~40 hrs/wk in February. I finished 2 unit final projects that I’d been putting off forever, and scheduled my assessments for them. I’m going to meetups of some sort every week, so that’s getting easier.

I’m itching to contribute to “real world” projects, so around the middle of the month when I found an open source software internship program for minorities, I really wanted to apply. However, when push came to shove, I didn’t pull my application together fast enough for that round of selection. It was a long shot, as I found out about the program 5 days before the deadline. Besides putting together my app for the next round, I’m exploring other options to contribute. Code for America’s San Francisco chapter has a few interesting projects along with a weekly hack night, and Up for Grabs looks like a cool site for finding open source projects that need help.

New Computerrrrr!!!!

I’d been holding out on buying a new computer until the next Macbook Pro release, but there were no computers announced at the March Apple event. Bummer! But I took that as a sign to finally bite the bullet and get my first new computer since… 2009? It’s awesome. I’m a week in and so far I love developing on a Mac. I should have done this months ago!

Rails & the Rest…

Anyways, what else… I’m finally in the promised land…. RAILS.

First off…

Hallelujah!!!

Secondly….

It is kicking my ass. Rails is vast. Rails is powerful. Rails has so many amazing features, you just gotta know the magic words. As I’m plodding through, I feel like I’m being inducted into Hogwarts or something. WHAT IS THIS BLACK MAGIC RAILS???

The Finish Line

For a while in my program, there was a bit of a running joke about “never finishing” because it felt like every day they were adding more and more lessons to the final section. However it looks like they’ve finalized the curriculum! So now I know where the end is. Here’s how I stand today:::

  • Rails 53/102 lessons w/final project
  • JavaScript 46/55 lessons (close!!)
  • Rails and JavaScript 13/46 lessons w/final project
  • Angular JS 7/111 lessons w/final project

So close, yet SO FAR… I don’t think finishing off JavaScript/Rails stuff will be too troublesome, but I’m honestly nervous about Angular based on what I’ve heard from classmates.

Oh well, time to get back to work.

NPR API CLI gem – OO Assessment

In my program each major unit ends with a few projects. There are a couple of projects that just feel like really long labs, and then there is a final project that is a bit more open-ended (AKA fun). After you’ve finished your project, you’re required to film a video walkthrough, write a blog post about the experience, and lastly you have an assessment with a Flatiron instructor.

For the object-oriented Ruby section, they asked us to create a CLI gem that scraped data from a webpage or via an API. Despite having a little experience with web scraping and APIs in Python, it still took me a while to get my head around the best way to approach the project. 

Specific Project Requirements:

  • * Package as a Ruby gem
  • * Provide a CLI on gem installation.
  • * CLI must provide data from an external source, whether scraped or via a public API.
  • * Data provided must go at least a level deep, generally by showing the user a list of available data and then being able to drill into a specific item.

My Gem Overview / Walkthrough

I built a gem that connects to the NPR API. Through the command line you can pick an NPR radio program and see its recent stories, then drill into those stories to see further information. You can also choose to read the whole story through the browser.

The interface looks like this:

npr-stories-gem

Here is the video walkthrough of my gem:

Read more

Knit Tracker – Sinatra Assessment

When I first saw the Final Projects for the object orientation section of my program, I was intimidated. OO was hard! And creating a CLI gem just sounded like a lot at the time. I felt differently upon reaching the Sinatra assessment. The project requirements seemed simple enough: create a CRUD app using Sinatra and ActiveRecord. As the labs building up to this project had made me do this several times over, I felt ready to create my own. Actually pulling it together wasn’t simple by any stretch, but it was certainly not as intimidating as the CLI gem (which I’m still working on!).

Specific Project Requirements:

  • * Build an MVC Sinatra Application
  • * Use ActiveRecord with Sinatra
  • * Use Multiple Models
  • * Use at least one has_many relationship 
  • * Must have user accounts. The user that created the content should be the only person who can modify that content
  • * Models must have validations to ensure that bad data isn’t created 
  • * Any validation failures must be shown to user with an error message

Read more

Scroll To Top