This is a visual summary of my past web development & design work, up to January 2013. Some projects are not yet included. Unless otherwise noted, these projects have been built using PHP 5, MySQL, and the standard XHTML, Javascript,
CSS, and jQuery.
Find me on Github
to get an overview of some of my recent personal projects and interests!
FishContest
launching soon
A family-founded web start-up, FishContest is a modern, responsive, AJAX-enhanced suite of fishing-related services, tools, and single-page apps—aspiring to become the de facto online repository and network for fishing enuthiasts, with core functions including adding and maintaining a user fish database, social networking-like features to find and compete against nearby or like-minded fishermen, an event feed with recent activity, and a fully-loaded instant-feedback search interface. All throughout, FishContest has been richly integrated with Google Maps client-API (and server-side as well), providing a distinctly visual interface with which today's web audience is very familiar. Maps showcase the locations of users, fish, fishing spots, etc. Strong debugging skills have helped both myself and my brother enormously during the coding and tweaking of this project.
Front-end development is done using W3C standard tecnologies (HTML+HTML5, Javascript (ECMAScript 1.6), jQuery, CSS 2+3, Google Maps API) Debugging and coding done with Firebug (both as a debug tool and as a virtual IDE of its own right), IntelliJIDEA, NetBeans IDE, Programmer's Notepad 2, and Notepad2-mod).
Back-end development is done using PHP 5.4, MySQL 5, and Apache 2.4.x. Apache mod_rewrite is used to allow full editorial control over site URLs. Object-oriented patterns, code reuse, simplicity and obviousness of code intent, and cleanliness (especially DRY—Don't Repeat Yourself) inform the code structure and style.
Dashboard
Site front displayed to logged-in users.
Fish Database
Sortable, filterable, paging-enabled list view where the user may view and manage his online fish collection.
Fish Database
Sortable, filterable, paging-enabled list view where the user may view and manage his online fish collection.
Close-up detail of date selection
Add/Customize Lure UI
A user may create lures with many customization options including fullly-featured HTML5 (SVG document) color modification, and may select from their favorite lures when adding a recently caught fish.
Contest View (side-by-side)
As the name implies, the focal point of FishContest is to create contests and compete with others to achieve the highest score.
Contest View (single-column)
Users are presented with an extensive freedom to customize the rules and nature of contests they create, such as location and proximity, including/excluding a specific set of species, including and excluding date ranges (with support for overlapping/nested ranges), limiting the contest to the best 5 (or N) elligible fish for each participant, and more, though an easy-to-use UI with heavy Google Maps integration. Effort is directed toward providing UI controls and conventions which users will be familiar with.
Search UI ("People" perspective)
Users can find and discover nearby fishing-enthusiasts, with a broad range of criteria. Again, the UI for search presents users with a familiar Google Maps-oriented interface, instant search filtering, behind-the-scenes instant geocoding and location name lookup, auto-completion, etc.
Search UI ("Fish" perspective)
They may also be interested in what fish have been caught nearby, or looking for the best spot to catch a certain kind of fish! With the search "fish" perspective, it is also easy to locate and reach out to other users based solely on fish-specific criteria.
Koofers.com
visit
Starting in 2007, I designed and implemented web apps and dynamic pages for Koofers. Following are pages which I implemented using back- and front-end technologies such as PHP, MySQL, Javascript, CSS, and AJAX.
Public homepage
Implemented redesigned public homepage, 2010
Schedule maker
AJAX/JS web app which aggregates class time data, instructor GPA data, and user reviews and ratings.
Shows users all available schedule combinations for their courses and allows them to sort the schedules by GPA.
Students can also lock in a particular section to narrow down their available schedules.
Interactive exam page
Implemented the client interface to take an interactive version of uploaded exams. The application makes use of special data identifying rectangular regions enclosing each test question, each answer item (for multiple choice questions), correct answer data, etc.
Also implemented back-end tools to manage the collection, validation, and conversion of this data into a form usable by the website.
Instructor ratings page
Provides at-a-glance summary of an instructor's ratings in key areas, GPA for courses the instructor teaches, and the instructor's teaching style
When a new course is chosen, the information and graphs on the page are dynamically updated via AJAX
Instructor rating form
An AJAX-powered interface to collect data about an instructor from a user, such as overall rating, difficulty and number of exams/quizzes given, etc.
The Pin Project
visit
A personal project, the Pin Project is an artistic showcase site with social networking features.
It allows users to upload their original works (pictures, music, and writing) to share with and receive feedback from other users.
Site front / login page
Pre-login gateway to the Pin Project
Home page
Shows recent site activity
User profile
Shows user picture, brief user information, gallery of the user's posted pictures, songs, and blog posts
User profile (continued)
Shows recent activity related to the user in profile, "buzz" posts (at bottom)
Music portal
A browser, player, and fully AJAX-driven ratings && feedback engine for user-contributed songs
Pictures portal
A picture gallery (uses same backend class as music portal)
Sent items
A self-contained mail system for sending messages to other Pin Project users
SubTask
visit
A personal project, SubTask is an online priority management system and to-do list. It allows you to keep track of tasks using due dates, assignable task priorities, and dependencies. It also makes tasks seem more manageable by allowing you to split them up into collapsable sub-tasks (hence the name).
Main list view
Shows list of current tasks. New tasks or subtasks can be added, and existing tasks can be edited or completed.
Task editor
Task editing interface which appears when a new task is added or an existing task is clicked.
Coastal Virginia Wildlife Observatory
visit
Site front
Home page for the CVWO, a non-profit wildlife organization.
Event calendar
Dynamically generated calendar with simple web-based management system