Bug Tracking Platform

Bug Tracking Platform

Closed - This job posting has been filled.

Job Description

BUG TRACKER PROJECT
================================

/////////////////////////////////
//
//
// DATABASE LAYOUT
//
//
/////////////////////////////////

Products - productID, productName, productOrder


Bugs - bugID, productID, bugCategoryID, bugTitle, bugDescription, bugSeverityID, bugTimeEstimate, bugTimeCompleted, bugCreated, bugDueDate, bugStatus (O = Open/Active, A = Archived), bugCompletedDate


Severity - severityID, severityVaule, severityName, severityColor (html hex value for background color)


Categories - categoryID, categoryName, categoryDescription


Attachments - attachmentID, bugID, attachmentFile, attachmentDescription



/////////////////////////////////
//
//
// STYLE REFERENCE
//
//
/////////////////////////////////


General layout should look something like this:

http://www.ontimenow.com/bug-tracking/track-issues


/////////////////////////////////
//
//
// PROJECT DESCRIPTION
//
//
/////////////////////////////////

Overview:

Basic internal bug tracking system used to track product flaws / defects. System should allow user to enter "bugs" for each "product". On the main screen, users should see all projects (listed in ASC order of productOrder field) with all submitted "bugs" grouped under the "project" heading sorted in order of severityValue (DESC). Each bug should allow an unlimited number of attachments (any file type) to be associated with it. The basic style / look & feel should be similar to the referenced "Style Reference". Simple and clean interface.

Functionality Overview:

1) Allow users to add / edit / remove Products
2) Allow users to add / edit / remove Severity
3) Allow users to add / edit / remove Categories
4) Allow users to add / edit / remove Bugs (bug db field for bugSeverityID references severityID from the Severity table, bug db field for bugCategoryID references categoryID from Categories table)
5) Allow users to add / remove Attachments for bugs
6) Main page should display an interface with the following items to display for Open / Active bugs: checkbox for mass action (see item #7), attachment icon (if an attachment exists for the bug), bugTitle, bugSeverity, bugCategory, bugDueDate, bug % complete (calculated based on bugTimeEstimate and bugTimeCompleted - ex: bugTimeEstimate = 60, bugTimeCompleted = 30, bug % complete = 50%)
7) Main page mass actions include: mark complete, delete bugs, change product, change severity, change category, archive / un-archive
8) Main page option to display archived Bugs
9) Main page product groupings should display the following: # of Open / Active bugs, Hours Complete (sum of bugTimeCompleted for category), Hours Remaining (sum of bugTimeEstimate - sum of bugTimeCompleted), % complete (see calculation for bug % complete from item #6)
10) Main page needs to support pagination (quantity can be set via config file) - ex: if the value is set to 30 and 40 tickets exist for a particular product, only the first 30 (sorted by severityValue DESC) will display - but a page link will display to view the next page
11) Marking a bug complete should change the bugStatus field to "A" and update the bugCompletedDate field to the current date (YYYY-MM-DD format)

Code Overview:

PHP code should be PHP5 OOP. JS and CSS files should be external files (not inline code).