You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+86-78Lines changed: 86 additions & 78 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,40 +52,41 @@ TrackIt was developed to make convoluted issue tracking a thing of the past. Tra
52
52
53
53
#### Strategy
54
54
55
-
Considering the UX requires understanding the needs of:
55
+
Considering the UX requires understanding the needs of these stakeholders:
56
56
57
57
**Submitters** want a quick and painless ticket submission process and feedback that their issue is being worked on through to resolution. Submitters want to focus on their core tasks.
58
58
59
-
**Assignees**(Fixers) want issue detail, screenshots and other users' comments to resolve the ticket.
59
+
**Assignees** want issue detail, screenshots and other user comments to resolve the ticket.
60
60
61
-
**Managers** want quick, graphical access to the open and closed tickets. They also want to be able to contact any user to aide ticket resolution.
61
+
**Managers** want quick, graphical snapshots to understand where to focus their efforts.
62
62
63
63
#### Scope
64
64
65
65
##### Functional Specifications
66
66
67
-
Existing issue trackers were researched (including GitHub Issues, Jira) to identify the key data fields and features users expect.
67
+
Existing issue trackers were researched (including GitHub Issues, Jira) to identify the key features users expect.
68
68
69
69
Broadly, the site should:
70
70
71
-
- Allow logging, tracking of 'Bugs' and 'Feature Requests' through to resolution. 'Bugs' could represent 'Issues' in some organisations.
71
+
- Allow logging, tracking of 'Bugs' and 'Feature Requests' through to resolution. 'Bugs' could represent 'Issues' in some organisations
72
72
- Allow contributions/comments from other users
73
-
- Feature a dashboard of all tickets.
73
+
- Feature a dashboard of all tickets
74
74
75
75
##### Content Requirements
76
76
77
77
- Data tables
78
78
- Input boxes for ticket filtering
79
-
- DC.js, D3.js and crossfilter for dashboard charts.
80
-
- Dropdowns for selecting and editing fields.
79
+
- DC.js, D3.js and crossfilter for dashboard charts
80
+
- Dropdowns for selecting and editing fields
81
+
- File Upload buttons
81
82
82
83
#### Structure
83
84
84
85
##### Interaction Design
85
86
86
87
- Unobtrusive navigation bar, always accessible and fixed to top
87
88
- On mobile and tablet devices, navigation links collapse into a menu button
88
-
- All interactive elements provide feedback to the user to encourage interaction and confirm user actions.
89
+
- All interactive elements provide feedback to the user to encourage interaction and confirm user actions
89
90
- Each row in tickets table changes opacity on hover
90
91
- Navigation and pagination links change opacity on hover
91
92
- All buttons have border transition on hover
@@ -95,8 +96,8 @@ Broadly, the site should:
95
96
96
97
##### Information Architecture
97
98
98
-
- A multipage archecture was used to break up the large amount of information presented in the site. For example, the Add Ticket and Edit Ticket pages require many fields and so require separate pages.
99
-
- Pagination is employed in tickets table to reduce cognitive overload. User can select how many tickets to display per page via dropdown.
99
+
- A multipage architecture was used to break up the large amount of information presented in the site. For example, the Add Ticket, Edit Ticket and Checkout pages require many fields and so require separate pages.
100
+
- Pagination is employed in the tickets table to reduce cognitive overload. User can select how many tickets to display per page via dropdown.
100
101
101
102
#### Skeleton
102
103
@@ -114,34 +115,34 @@ Colours: Intuitive ticket colours used consistently to represent Ticket Status -
114
115
115
116
As a Guest User...
116
117
117
-
- I want to quickly learn the key features of the site.
118
-
- I want to know if sign up is free and which features are behind a paywall.
119
-
- I want to see a visual preview of the features before having to sign up.
120
-
- I want to know if this site is credible and used by well-known organisations.
121
-
- I want to see some customer testimonials.
122
-
- I want my initial questions to be answered.
123
-
- I want to be able to contact the developer for further information.
118
+
- I want to quickly learn the key features of the site
119
+
- I want to know if sign up is free and which features are behind a paywall
120
+
- I want to see a visual preview of the features before having to sign up
121
+
- I want to know if this site is credible and used by well-known organisations
122
+
- I want to see some customer testimonials
123
+
- I want my initial questions to be answered
124
+
- I want to be able to contact the developer for further information
124
125
125
126
As a Registered User...
126
127
127
-
- I want to submit a Feature Request that would improve my productivity.
128
-
- I want to submit a Bug I am experiencing without being distracted from my core tasks.
129
-
- I want to be able to check how many free tickets submissions I have remaining in the month on my Basic plan.
130
-
- I want to see a list of all tickets I have raised.
131
-
- I want the option to see all tickets in a KANBAN-style column view.
132
-
- I want to contribute to the resolution of an open issue by leaving a comment under it.
133
-
- I want to raise the profile of an existing ticket by upvoting it.
134
-
- I want the ability to unlock PRO features via online credit card payment.
135
-
- I want to control which personal information I share with other users.
136
-
- I want to be able to upload a profile image so my colleagues can put a face to the name.
137
-
- I want to access contact details of other users.
138
-
- I want to be able to request Admin access.
128
+
- I want to submit a Feature Request that would improve my productivity
129
+
- I want to submit a Bug I am experiencing without being distracted from my core tasks
130
+
- I want to be able to check how many free tickets submissions I have remaining in the month on my Basic plan
131
+
- I want to see a list of all tickets I have raised
132
+
- I want the option to see all tickets in a KANBAN-style column view
133
+
- I want to contribute to the resolution of an open issue by leaving a comment under it
134
+
- I want to raise the profile of an existing ticket by upvoting it
135
+
- I want the ability to unlock PRO features via online credit card payment
136
+
- I want to control which personal information I share with other users
137
+
- I want to be able to upload a profile image so my colleagues can put a face to the name
138
+
- I want to access contact details of other users
139
+
- I want to be able to request Admin access
139
140
140
141
As a Registered Admin User:
141
142
142
-
- I want to easily contact a ticket's Assignee by launching a draft email from the ticket view.
143
-
- I want to graphically identify which tickets require attention, ie. aged and high priority tickets.
144
-
- I want to see which tickets have the most upvotes, to help inform work prioritisation.
143
+
- I want to easily contact a ticket's Assignee by launching a draft email from the ticket view
144
+
- I want to graphically identify which tickets require attention, ie. aged and high priority tickets
145
+
- I want to see which tickets have the most upvotes, to help inform work prioritisation
145
146
146
147
## Features
147
148
@@ -181,6 +182,12 @@ Tickets are displayed in KANBAN columns by Status: New, In Progress, Resolved, C
The Team page acts as an address book of users of the site, listing some key details. Users are split into Submitters and Staff.
@@ -200,19 +207,19 @@ The Account page is where users can view and edit their account information. Use
200
207
- View list of other users and their details
201
208
- Update their own details, including First Name, Last Name, Zoom Meeting ID
202
209
- Upload a profile image
203
-
- Explore tickets in Dashboard view.
204
-
- Visualise tickets in KANBAN.
210
+
- Explore tickets in Dashboard view
211
+
- Visualise tickets in KANBAN
205
212
- Pay to upgrade account to PRO, which allows unlimited ticket submissions per month, and KANBAN view
206
213
207
214
### Potential Future Features
208
215
209
-
- Make tickets in KANBAN View draggable, so that ticket status can be changed via dragging into other column.
210
-
- Add filters and searching to KANBAN View, including a toggle to show only My Tickets.
216
+
- Make tickets in KANBAN View draggable, so that ticket status can be changed via dragging into other column
217
+
- Add filters and searching to KANBAN View, including a toggle to show only My Tickets
211
218
- Limit upvotes to 1 per user per ticket. Add tooltip to show which users who have upvoted - if more than 3 users, display eg. 'Joe and 4 others'.
212
-
- Add phone number field to user profile with ability to click to call via 'callto:'.
213
-
- Additional graphs in Dashboard view, including Age vs Priority bubble chart.
214
-
- Allow the Assignee to set an Estimated Resolved Date for each ticket.
215
-
- Dark Mode setting toggle in Account page.
219
+
- Add phone number field to user profile with ability to click to call via 'callto:'
220
+
- Additional graphs in Dashboard view, including Age vs Priority bubble chart
221
+
- Allow the Assignee to set an Estimated Resolved Date for each ticket
222
+
- Dark Mode setting toggle in Account page
216
223
217
224
## Databases
218
225
@@ -252,11 +259,11 @@ Ticket Model
252
259
| screenshot | ImageField | Image file related to ticket. |
253
260
| history | 'HistorialRecords' Django App | Django app to record field changes. |
254
261
255
-
Note on API: Using the Django REST Framework, the Django data models are serialised to JSON via a serializers so that the data can be consumed from by dashboard.js to display the charts.
262
+
Note on API: Using the Django REST Framework, the Django data models are serialised to JSON via a serializers so that the data can be consumed by dashboard.js to display the charts.
| 1 | Content is not squeezed or overlapping (Mobile) | Tickets table overflowing horizontally. | Yes | Added Bootstrap class 'table-responsive' to enable horizontal scrolling |
428
-
| 2 | Tickets page: All tooltips function on hover of Summary, Type, Status | On Tickets page tooltips on tickets beyond on the first are not initialized. | Yes | Added callback function to reinitialise all toolips on redraw of table |
| 1 | Content is not squeezed or overlapping (Mobile) | Tickets table overflowing horizontally. | Yes | Added Bootstrap class 'table-responsive' to enable horizontal scrolling |
435
+
| 2 | Tickets page: All tooltips function on hover of Summary, Type, Status | On Tickets page tooltips on tickets beyond on the first are not initialized. | Yes | Added callback function to reinitialise all toolips on redraw of table |
| 4 | Test Stripe payments function and can be confirmed on Stripe dashboard | Error: 'We cannot process with that card' | Yes | jQuery CDN must be loaded before stripe.js |
0 commit comments