RVC Schools Helpdesk
Rockville Centre Public Schools hired me to work on a custom helpdesk solution that would fit their needs. Much of the functionality was modeled after the popular ticket management system Trac. It features ticket management, project management, a page with useful statistics, and integration with the district's LDAP server. Teachers from all across the school district use it to report problems and communicate with the tech department, while the tech department uses it to keep track of which tickets are still open, and uses it to report the status of the tickets to the teachers.
This is an older project of mine, so the usability and aesthetics aren't as good as it is with my more recent projects.
The ticket management aspect has what you would expect from a ticket manager: Duplicate ticket management, change logs, comments, resolutions, etc. Notification emails are sent to the reporter of the ticket, the person the ticket was assigned to, and the tech director every time the status of a ticket updates. Bulk actions can be applied to tickets, and tickets can be filtered depending on whether they are new or closed, by name, by project, etc.
The project manager ties in with tickets, and shows progress of the completion of a project based on the status of the tickets associated with the project. Projects can be nested, so a project can have sub-projects.
There is a statistics page that breaks tickets down by various features (closed/new, reporter, the user it was assigned to, etc.), and a histogram of tickets reported by month.
On the dashboard, blocks can be shown for various queries. If a user wants to add a certain query to their dashboard (eg. tickets assigned to them), they can do so from the ticket search/filter page.
The software is still in use, and scales quite well. I wrote it using Django, and it stores everything using the MySQL database server. I used Dojo to spruce some things up and add some AJAX functionality (eg updating the blocks on the dashboard every 10 minutes). Last I checked, there were somewhere around 10,000 tickets in the system, probably more at this point. Overall, I'm fairly satisfied with how this project came out.