Skip to content
Problems I worked on during class.
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
images Add chess and checkers to README Dec 28, 2014
w1 Print color letter in color Jun 10, 2015
w2 Move checkers to its own repo May 1, 2015
w3 Add popular method for TagTopic Jul 9, 2015
w6 Improve css Mar 26, 2015
w7 Add TrelloClone to README Feb 17, 2015
.gitignore w1d1 Dec 9, 2014 Update towers of hanoi image links May 1, 2015

Prep Work for App Academy

Twitter Clone ( code | demo )

This is the sample application for the Ruby on Rails Tutorial: Learn Web Development with Rails by Michael Hartl.

Week 1

Mastermind ( code )

Maze Solver ( code )

A program that finds a route between two points in a maze.

Towers of Hanoi ( code )

towers of hanoi

towers of hanoi

towers of hanoi

Tic Tac Toe ( code )

This is my version of the timeless classic 2-player pencil & paper game.

tic tac toe

Hangman ( code )

This is the classic hangman game, where one player thinks of a word and the other tries to guess it by suggesting letters. The program has two types of players: human player and AI player. Since human's are boring, here are two AIs battling it out:


Word Chains ( code )

Given two words of equal length as command-line arguments, the program builds a chain of words connecting the first to the second. Each word in the chain is in the dictionary and every step along the chain changes exactly one letter from the previous word.

Week 2

Minesweeper ( code )

Chess ( code )

There is a human and an ai player. I also implemented en passant.


Checkers ( code )


Week 3

SQLZoo ( code )

URL Shortner App ( code )

URL Shortner a tool that takes an input URL and will shorten it for the user. Subsequent users can then give the shortened URL back to the application and be directed to the original URL. You can input shortened URLs into CLI and the original URL pops open in a browser (with the help of the launchy gem).

Polls App ( code )

  • Tables: users, polls, questions, answer_choices, and responses
  • associations and validations for all models

ActiveRecord Lite ( code )

I built my own lite version of ActiveRecord.

  • implemented my_attr_accessor using
    • define_method
    • instance_variable_get
    • instance_variable_set
  • used SQLObject to interact with the database to implement
    • ::all
    • ::find
    • #insert
    • #update
    • #save
    • ::table_name and ::table_name=
    • ::finalize! which automatically adds getter and setter methods for each column
    • #initialize
    • ::parse_all
  • implemented associations
    • belongs_to and has_many associations, which store
      • #foreign_key
      • #class_name
      • #primary_key
    • has_one_through

Week 4

Blogger ( code )

JumpStart blogger tutorial, which can be found at JumpStart Lab.

Contacts API ( code )

Contacts API is an application storing your email contacts. Users can send requests to the API in order to create and share contacts, as well as retrieve their stored contact information.

  • Tables: users, contacts, contact_share, contact_group, and comments

99 Cats ( code )

This project is a clone of the dress rental website 99dresses. In other words: it is an airbnb for renting cats.

Music App ( code | demo )

email: password: awesome

A simplified version of a rdio-like app for browsing music. It is an inventory system for record labels. This app lets users track their Bands, Albums and Tracks.

Reddit App ( code | demo )

If you don't know what the Reddit is, then you are probably someone with a life. Here are some cats.

Week 5

Goal Setter App ( code | demo )

This project's main focus was on improving my skills in:

  • writing integration tests using Capybara and RSpec
  • testing behavior rather than implementation
  • learning how to develop one feature at a time
  • using concerns and polymorphic associations to dry up code

Rails Lite ( code )

I built my own lite version of Rails.

  • used WEBrick to set my own server
  • parse request
  • route request to the appropriate controller
  • send response back to the client

Rails Lite integrated with Active Record Lite ( code )

Week 6

Javascript projects

Towers of Hanoi ( code )

Snake ( code )

Asteroids ( code )

AjaxTwitter ( code )

The main purpose of this project was to write jQuery plugins. The code includes

  • FollowToggle: a jQuery plugin that turns a button into a toggle that follows/unfollows a user.
  • UsersSearch: a jQuery plugin that creates real-time user search. On every keypress, as the user types in a username, the page shows the matching users for the current input.
  • TweetCompose: a jQuery plugin that graphs the new tweet form and installs itself. It also allows us to tag multiple users in a tweet.

Week 7

Pokedex ( code )

TrelloClone ( code )

Final Project ( code | live )

In short: Yelp for menus. There are 2 type of users: restaurant managers and customers. Restaurant managers upload their menu to WaiterUp. If a customer walks into that restaurant, he/she can pull up the app on their phone, order from the menu, and then also pay through the app without having to leave tip. The idea is to eliminate waiters.

You can’t perform that action at this time.