Co-op Evaluation System
My capstone project is to re-engineer RIT's Co-op Evaluation System with the help of three other seniors and a part-time co-op. We were given the task to succeed where three teams have failed before us. At least this time, we have the support of the Co-op Office and ITS, the internal IT organization on campus.
I am acting as Project Manager and Lead UX Designer on this project. I'm also considered the SASS expert. My role as PM includes time, task, risk, artifact, and schedule management. As the UX Lead, I was in charge of all final decisions on layout and interaction, the creation of all clickable mock-ups, and running usability testing. I've learned a lot about managing a small team of VERY busy people with a diverse group of skills and how to do that while still pushing forward and actively contributing to the project.
Right now, we are still early in the development cycles; however, you can find all our up-to-date project artifacts on our team website. I won't be able to show off the final product since RIT will own the rights, but if you employ RIT students, with a little, luck you'll be able to enjoy my team's hard work soon!
My Enterprise Systems class was a define your own team project course. It just had to have the qualities of most enterprise systems: complex data and business logic and use enterprise-grade technology. My team for this course was nearly the same as my senior project team, so we took a stab at addressing a problem some of us had faced. EpochTrackr (EPIC-tracker) was the result of not finding the perfect tool for task and time management for Senior Project.
Epoch Trackr is a collaborative time-tracking web application built with AngularJS and .NET. It has both single team and organization options in order to address the enterprise need and differentiate it from similar applications. Users are able to create teams and add tasks with checklists, deadlines, an assigned user, etc. The assigned user can then track their progress on the task using comments and our time log.
This project was a ton of fun as I had a great team and a product I was personally invested in. I acted as the lead designer and SCSS Guru. It's basically canned Bootstrap since it's a class project, but I did my best to layout everything in a reasonable, useful manner and make it as responsive as possible.
Check out our repo on GitHub. View the final product at http://epoch-trackr.apphb.com. One warning: There are some unresolved issues concerning the website speed. We never figured out what was causing these issues, so please stick around and let everything load fully - or come back later after it loads in the background.
"popHealth is an open source reference implementation software service that automates the reporting of Meaningful Use quality measures. popHealth integrates with a healthcare provider’s electronic health record (EHR) system using continuity of care records. popHealth streamlines the automated generation of summary quality measure reports on the provider’s patient population." - projectpophealth.org
I worked on popHealth as a part of the MITRE development team. I am on the UI team and have been working on implementing a modern, cohesive design that takes full advantage of what today's technology offers. The tech stack includes Bootstrap 3, LESS, Thorax.js, CoffeeScript, Ruby on Rails and MongoDB. I worked on creating and maintaining a custom Bootstrap theme in LESS, pruning the initial dashboard and creating various client-side thorax modules.
You can check out the source code on GitHub. projectpophealth.org is the offical project website, but has become outdated since the project was refunded in August.
Bonnie was another project I worked on during my internship at MITRE. It is used to test CQMs (Clinical Quality Measures) while they are in development. Teams internal to MITRE also use it to develop patients for systems like popHealth.
I was a part of the front-end development team and did the same type of work I did for popHealth, which was convenient since I was on both projects simultaneously. The tech stack is identical to popHealth's, which made learning everything I needed to know easier. I spent more time on developing a Bootstrap theme and maintaining LESS for this project than on thorax development. I spent many hours trying to tame the ever growing amount of messy LESS. Before I left the project, I wrote a CSS/LESS guide that will hopefully help my teammates continue to keep the code in good order.
You can check out the source code on GitHub.
JBrick is an IDE (Integrated Development Environment) for developing in NXC (Not eXactly C) for the LEGO Mindstorms Robots. It was designed to be highly accessible for the visually impaired on both Windows computers using JAWS and on Macs. The project was lead by Dr. Stephanie Ludi, Chair of the Software Engineering Graduate program at RIT. I believe it was funded by NSF as a part of Project ACE - a program to introduce children, particularly visually impaired kids, to programming, computers, and robotics.
The project was initially started as a practicum project for graduate students, but Dr. Ludi decided to give the project to three undergraduate students in order to bring the project to a close. The "back-end" was mostly complete, but the front end was a mess and limited the program so it could only run on x86 versions of Windows. We completely rewrote the UI using Swing to make it cross-platform and fixed any bugs we could find.
My contribution was making the system accessible on Macs so everything could be identified by the built-in screen reader. I also worked on displaying errors in the code correctly. I also made it so if you click on the error number, which is displayed as a link, it will put your cursor at the beginning of that line.
This project was a fantastic learning experience, both in a technical way and a nontechnical one. I learned about how IDEs work and how to make Java programs accessible, but I also learned about being on a small team in a workplace environment.
The source code can be found on Google Code.
Lego Mindstorms Robotics
Near the end of my freshman year I got my first job relating to software engineering as a research assistant on Project ACE, a NSF-funded research project to develop robotics workshops to interest children in computing. All development is done in NXC (Not eXactly C) and ROBOTC.
I worked on the project for 6 months and had a ball doing it. During that time I built the three robots below as well as a few others.
The catapult was a legacy project, one of the first ones created for Project ACE. I refactored the entire thing to meet our newer code standards and to convert it to using the libraries one of my co-workers wrote.
The guitar was a project I got off of nxtprograms.com and adapted to work for our project. It was origianally written in NXT-G, so I had to convert it to NXC and ROBOTC, which wasn't a simple as it'd seem due to some concurrency tricks I had to employ. I also ended up writing a music note library for ROBOTC.
Finally, the Plinko game was of my own design, and works more or less like the arcade game version.
All these projects and more can be found on Google Code.