Description:
Odinbook is a clone of Facebook written using TDD and designed to mimic the look and some core features of Facebook including friending, posting, commenting, and liking. Additional features provided include Timeline, Newsfeed, customizable privacy settings, and search.
User experience is enhanced in this web application with extensive use of Ajax requests (for everything from creating or deleting a post/comment/like to client side form validation), realtime updates with websockets (reflecting other users' pertinent actions), and infinite scroll.
This application uses Devise for authentication and Omniauth integration with the real Facebook as well as Paperclip with AWS S3 storage for images.
Description:
This is a two-player CLI chess application written using TDD in accordance with the World Chess Federation's Laws of Chess.
This application performs detailed checks of a player's attempted move and provides useful feedback when an illegal move is attempted; it also warns when a player's king is in check. All special moves (castling, en passant, promotion, and a pawn's double step on its first move) are allowed in the game.
According to Article 5 of the Laws of Chess, a chess game may end in one of seven ways--Checkmate, Resignation (both wins), Stalemate, Dead Position, Agreement, Threefold Repetition, and Fifty Move Rule (all draws). All seven are recognized and implemented in this application. At any time a game may be saved and continued at a later time.
More Info:
The source code for this Chess application is available on GitHub.
Where's Waldo
Developed: 2014
Contribution: Solo Developer
Description:
Implementation of the children's game Where's Waldo (or Where's Wally) with Rails on the back end and JavaScript on the front end. Offers six boards of increasing difficulty for a player to choose from.
This application works similar to a photo tagging application where a player has to "tag" the different Waldo characters on a large board. JavaScript captures a player's character selections then makes an Ajax request to the Rails back end which checks the character selection; finally JavaScript displays feedback. There is also a leaderboard which shows the top 20 scores (measured by how quickly a player finds all Waldo characters) for each board.
Description:
JavaScript clone of the classic game Missile Command on an HTML5 canvas. Protect six cities with three Anti-Missile batteries from enemy missiles like in the classic game.
This application uses JavaScript to draw each element of the game (missiles, missile paths, cities, anti-missile batteries, explosions) on an HTML5 canvas for each game frame. Some geometry is then used to calculate where each moving game element (like missiles) need to be on the next game frame to maintain a smooth animation. Each game level produces more enemy missiles that travel faster making for increasingly harder game levels.