Portfolio

Clean Code presentation

Clean Code presentation slide

I gave a presentation on writing clean code as a Lunch and Learn session at Datto. It was based on the book Clean Code by Robert C. Martin.

Sequence

Sequence allows users to write and edit stories through a GUI

Editing a page of a story in Sequence CMS

source code, requirements documentation

Sequence is a simple content management system for online fiction and comics. It allows users to write and structure stories through a private GUI, and generates a public website for others to read them.

full description

I created Sequence as the capstone project of my web and database development concentration at RIT. I was given little direction on the project; the only requirements were that it be a web application with a three-tier architecture, and be completed in 11 weeks. I chose to build a content management system for fiction, because I’d struggled with poor usability in other CMS software when making my webcomic years earlier.

The software had improved since I’d last used it, but learning curve was still an issue, and there were no options geared toward written fiction rather than comics. Sequence is a lighter-weight solution than the competing alternatives (most of which run on top of WordPress in some way), and has a tight focus on the features that authors and artists need most. The main drawback of Sequence is lack of customization; I had originally planned to include theming and better flexibility, but had to cut this from the scope.

Sequence uses the LAMP stack (Linux, Apache, MySQL and PHP), because these are the technologies most often available on the inexpensive shared hosting plans that hobbyist users prefer. It follows a three-tier architecture, with data, business and presentation layers. The presentations layers of the public-facing site and the admin area are kept separate, to make it easier to provide a choice of public-facing themes in a future release. Refer to the user documentation for an explanation of Sequence’s basic features.

Faculty Database

faculty activity database screenshot

source code

Faculty Database is a simple create/read/update/delete Java application for managing a MySQL database of faculty members and the classes they teach. It was created as a class project for the RIT course 4002-484 Database Client/Server Connectivity, in collaboration with Jessica Dopkant and Pawel Baltaziuk.

full description
Faculty Database uses Java and MySQL, with the JDBC database driver. It follows an object oriented architecture, with separate data, business/midtier and presentation layers. In the business and data layers, abstract Record and Records classes allow code reuse for methods that were common to all object types. Singular classes contain a single instance of a record from a database table, while plural classes keep many records organized. Transactions and prepared statements are used in the data layer to improve security and reduce risk of data loss.

uml

thumbnail links to full-size diagram