Project 2 has come and gone. It was a week full of many lessons learned and victory dances. Let’s get to it.

Project 2: Building our First Full-Stack App:

Let’s review the Technical Requirements

The app must…

  • Be built in Rails.
  • Have at least 2 models with at least 1 association (more if it makes sense).
  • Have complete RESTful routes for at least one of your resources with GET, POST, PUT, and DELETE.
  • Have error handling & validations for all resources
  • Utilize an ORM to create a database table structure (e.g. ActiveRecord) and interact with your relationally-stored data.
  • Have semantically-clean HTML and CSS that passes the standard validators.
  • Record and publish a video on Youtube describing your process, showing off your code, and speaking about things you’ll like to add to your app

What did I do?

Have you ever had a random idea, thought or just a question you wanted to throw out into the world and get real-time feedback on?


I built a fully functional CRUD full-stack app with user authentication and permissions. Rails on the front end, ActiveRecord as my ORM, and Postgres for my database. For this project, I wanted to focus on writing clean, easy to follow, and DRY code. DRY = Don’t Repeat Yourself.

I challenged myself to implement Ruby gems not taught in class so I could practice reading other developer’s documentation. I installed and played around with a hand full of gems but unfortunately, I found out that not all gems are created equal.

I was able to find a neat gem called Acts As Votable. This gem allows users to upvote and downvote their own and other user’s ideas. An user can only vote once per vote.

I’m very proud of keeping true to my goal and delivering DRY code. I used partials and helpers in my application that helped keep my files neat, readable and easy for other developers to use.

Screenshot 1

Screenshot 2

Screenshot 3

Screenshots of my project 2:

I’m pretty darn proud of my project 2. I enjoyed learning more about Rails, ActiveRecord and Postgres. I now have my first full stack application where users can log in/out, leave the site and data will persistent within my database. It’s definitely worth a pat on the back.

Once the project was done, I took 1 hour to record my presentation using QuickTime. With QuickTime, you can easily record whatever is on your computer screen. For recording your screen, I highly recommend grabbing headphones and using QuickTime!

Moving on, as promised here are my project 2 links:

Youtube link
Github link
Live Demo - Remember this is public so if you use it, anyone can see anything you post!

Day 5: Intro to Angular && Campus Lunch && Student Surprise!

No time off. Right back to learning new material the day after project submission. Today is a special day because today we are stepping into the A of the MEAN stack. Angularjs.

Intro to Angular


I am super pumped to start moving into the MEAN stack and learn a brand new front end framework called Angularjs. Today in class, we’re building a classic application… a Todo App.

We bootstrapped our Angular app, learned how to use Angular directives such as ‘ng-app, ng-repeat, ng-model, ng-click, ng-show and ng-hide’ and walked through coding a Todo App in class.

Campus Lunch

Every other Friday, General Assembly provides catered lunch for the whole campus. This is clearly one of the best perks and a highly anticipated one. Obviously, free lunch taste better and it’s a lot of fun hanging and eating with my classmates.


Campus Lunch: Every other Friday


Project 2 is done and we have two more projects to go! We’re right at the midpoint of our adventure and because of this rite of passage we were rewarded our official WDI General Assembly zip up hoodie! Yes, now we are a free walking marketing board for GA! Haha, I see right through General Assembly but hey, it’s cool to represent! These hoodies are not available to the public and only full time students receive them so yeah, it’s pretty special.

ga hoodie ga hoodie ga hoodie

Rite of Passage: WDI Hoodie

Lab and Happy Hour

To wrap up this full week, we were given a lab to solidify the Angular lesson taught earlier today. The theme of the lab: Superhero Phonebook.

Using Angular, build a superhero phonebook using directives, add a button next to each superhero that, when clicked, causes the hero’s image to be displayed on the page. Also, this phonebook should have search capabilities where you can easily type a term and the phonebook responds accordingly. Really fun stuff that definitely gave me a better understanding of Angular.


What a week! Time to wrap up and head to Happy Hour. Until next time!

Latoya M. Watson

Blogging about Tech and Food Stuff from Washington, D.C.