Skip to content

Commit 55b4ee5

Browse files
committed
Correct README.md typos
1 parent 997df33 commit 55b4ee5

File tree

1 file changed

+86
-78
lines changed

1 file changed

+86
-78
lines changed

README.md

Lines changed: 86 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -52,40 +52,41 @@ TrackIt was developed to make convoluted issue tracking a thing of the past. Tra
5252

5353
#### Strategy
5454

55-
Considering the UX requires understanding the needs of:
55+
Considering the UX requires understanding the needs of these stakeholders:
5656

5757
**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.
5858

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.
6060

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.
6262

6363
#### Scope
6464

6565
##### Functional Specifications
6666

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.
6868

6969
Broadly, the site should:
7070

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
7272
- Allow contributions/comments from other users
73-
- Feature a dashboard of all tickets.
73+
- Feature a dashboard of all tickets
7474

7575
##### Content Requirements
7676

7777
- Data tables
7878
- 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
8182

8283
#### Structure
8384

8485
##### Interaction Design
8586

8687
- Unobtrusive navigation bar, always accessible and fixed to top
8788
- 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
8990
- Each row in tickets table changes opacity on hover
9091
- Navigation and pagination links change opacity on hover
9192
- All buttons have border transition on hover
@@ -95,8 +96,8 @@ Broadly, the site should:
9596

9697
##### Information Architecture
9798

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.
100101

101102
#### Skeleton
102103

@@ -114,34 +115,34 @@ Colours: Intuitive ticket colours used consistently to represent Ticket Status -
114115

115116
As a Guest User...
116117

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
124125

125126
As a Registered User...
126127

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
139140

140141
As a Registered Admin User:
141142

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
145146

146147
## Features
147148

@@ -181,6 +182,12 @@ Tickets are displayed in KANBAN columns by Status: New, In Progress, Resolved, C
181182

182183
![KANBAN Basic User](static/images/kanban-go-pro.png)
183184

185+
#### Checkout
186+
187+
The user can upgrade their account from Basic to PRO by online credit card payment, processed by Stripe. On successful payment:
188+
189+
![Checkout](static/images/pro-successfully-paid.png)
190+
184191
#### Team
185192

186193
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
200207
- View list of other users and their details
201208
- Update their own details, including First Name, Last Name, Zoom Meeting ID
202209
- 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
205212
- Pay to upgrade account to PRO, which allows unlimited ticket submissions per month, and KANBAN view
206213

207214
### Potential Future Features
208215

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
211218
- 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
216223

217224
## Databases
218225

@@ -252,11 +259,11 @@ Ticket Model
252259
| screenshot | ImageField | Image file related to ticket. |
253260
| history | 'HistorialRecords' Django App | Django app to record field changes. |
254261

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.
256263

257264
Comment Model
258265

259-
| Field | Type | Description |
266+
| Field | Type | Notes |
260267
| :----------- | :----------------- | :------------------------------- |
261268
| ticket | ForeignKey(Ticket) | Linked to Ticket Model |
262269
| user | ForeignKey(User) | Linked to User Model |
@@ -314,34 +321,34 @@ Load json data into PostgreSQL:
314321

315322
## Technologies
316323

317-
- [Autoprefixer CSS Online](https://autoprefixer.github.io/) : add vendor prefixes.
318-
- [Balsamiq](https://balsamiq.com/) : wireframes development.
319-
- [Bootstrap](https://bootstrap.com/) : responsive webpages on all devices.
320-
- [Chrome Developer Tools](https://developers.google.com/web/tools/chrome-devtools) : device responsiveness and audits.
321-
- [crossfilter](https://github.com/crossfilter/crossfilter) : enables filters to be applied to all graphs.
322-
- [CSS3](https://www.w3.org/Style/CSS/Overview.en.html) : styling language.
323-
- [d3js.org](https://d3.js) : Javascript charting library.
324-
- [DataTables.net](https://datatables.net) : pagination and filtering of tables.
325-
- [DBDiagram](https://dbdiagram.io/) : mapping database relationships.
326-
- [DBeaver](https://dbeaver.io) : database tool to confirm successful data migration from sqlite3.
327-
- [dc.js](https://dc.js) : charting Javascript library built on d3.js.
328-
- [Django](https://django.io/) : high-level Python Web framework.
329-
- [Django Crispy Forms](https://django-crispy-forms.readthedocs.io/) : Django form styling.
330-
- [Django REST Framework](https://www.django-rest-framework.org/) : API data source for dashboard charts.
331-
- [Django Simple History](https://django-simple-history.readthedocs.io) : tracking changes to model fields.
332-
- [Git](https://git-scm.com/) : version control.
333-
- [GitHub](https://github.com) : code repository and source branch used in deployment.
334-
- [Heroku](https://www.heroku.com) : deployment.
335-
- [jQuery](https://jquery.com/) : manipulate HTML elements.
336-
- [LazyLoad](https://github.com/verlok/lazyload) : lazy loading of images.
337-
- [Material Icons](https://material.io/) : icons and fonts.
338-
- [PEP8 Validator](http://pep8online.com/) : validation of Python code.
339-
- [Pillow](https://pillow.readthedocs.io) : processing images in database.
340-
- [PostgreSQL](https://www.postgresql.org/) : relational production database.
341-
- [Stripe](https://stripe.com/) : accept online payments.
342-
- [Travis](https://travis-ci.org) : continuous integration.
343-
- [VSCode](https://code.visualstudio.com) : preferred code editor.
344-
- [W3C Validator](https://jigsaw.w3.org) : validate HTML & CSS.
324+
- [Autoprefixer CSS Online](https://autoprefixer.github.io/) : add vendor prefixes
325+
- [Balsamiq](https://balsamiq.com/) : wireframes development
326+
- [Bootstrap](https://bootstrap.com/) : responsive webpages on all devices
327+
- [Chrome Developer Tools](https://developers.google.com/web/tools/chrome-devtools) : device responsiveness and audits
328+
- [crossfilter](https://github.com/crossfilter/crossfilter) : enables filters to be applied to all graphs
329+
- [CSS3](https://www.w3.org/Style/CSS/Overview.en.html) : styling language
330+
- [d3js.org](https://d3.js) : Javascript charting library
331+
- [DataTables.net](https://datatables.net) : pagination and filtering of tables
332+
- [DBDiagram](https://dbdiagram.io/) : mapping database relationships
333+
- [DBeaver](https://dbeaver.io) : database tool to confirm successful data migration from sqlite3
334+
- [dc.js](https://dc.js) : charting Javascript library built on d3.js
335+
- [Django](https://django.io/) : high-level Python Web framework
336+
- [Django Crispy Forms](https://django-crispy-forms.readthedocs.io/) : Django form styling
337+
- [Django REST Framework](https://www.django-rest-framework.org/) : API data source for dashboard charts
338+
- [Django Simple History](https://django-simple-history.readthedocs.io) : tracking changes to model fields
339+
- [Git](https://git-scm.com/) : version control
340+
- [GitHub](https://github.com) : code repository and source branch used in deployment
341+
- [Heroku](https://www.heroku.com) : deployment
342+
- [jQuery](https://jquery.com/) : manipulate HTML elements
343+
- [LazyLoad](https://github.com/verlok/lazyload) : lazy loading of images
344+
- [Material Icons](https://material.io/) : icons and fonts
345+
- [PEP8 Validator](http://pep8online.com/) : validation of Python code
346+
- [Pillow](https://pillow.readthedocs.io) : processing images in database
347+
- [PostgreSQL](https://www.postgresql.org/) : relational production database
348+
- [Stripe](https://stripe.com/) : accept online payments
349+
- [Travis](https://travis-ci.org) : continuous integration
350+
- [VSCode](https://code.visualstudio.com) : preferred code editor
351+
- [W3C Validator](https://jigsaw.w3.org) : validate HTML & CSS
345352

346353
## Testing
347354

@@ -422,11 +429,12 @@ The following manual tests passed on Desktop, Tablet and Mobile (via Chrome DevT
422429

423430
The following tests failed:
424431

425-
| Issue No. | Test Name | Issue | Resolved? | Action Taken |
426-
| :-------- | :-------------------------------------------------------------------- | :--------------------------------------------------------------------------- | :-------- | :---------------------------------------------------------------------- |
427-
| 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 |
429-
| 3 | View Ticket page: Image appropriately sized | Screenshot overflows modal | Yes | Set screenshot image max-width: 96% |
432+
| Issue No. | Test Name | Issue | Resolved? | Action Taken |
433+
| :-------- | :--------------------------------------------------------------------- | :--------------------------------------------------------------------------- | :-------- | :---------------------------------------------------------------------- |
434+
| 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 |
436+
| 3 | View Ticket page: Image appropriately sized | Screenshot overflows modal | Yes | Set screenshot image max-width: 96% |
437+
| 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 |
430438

431439
### Code Validation
432440

@@ -532,6 +540,6 @@ YouTube Channels:
532540
- [Pretty Printed](https://www.youtube.com/channel/UC-QDfvrRIDB6F0bIO4I4HkQ)
533541
- [Max Goodridge](https://www.youtube.com/user/Max204204204/)
534542

535-
Big thanks to my mentor, Brian M., friends and family for help with testing and feedback.
543+
Big thanks to my mentor, Brian M, friends and family for help with testing and feedback.
536544

537-
###### <i>Disclaimer: Developed for Educational Purposes</i>
545+
###### <i>Educational Purposes Only</i>

0 commit comments

Comments
 (0)