Skip to content

antrix1989/issue_tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

Notes about the customer interface

  • Customers do not need to login to submit a query – they simply will need to provide their name and email address along with the department the issue relates to, the subject of their enquiry and the full body of the request.

  • Each new ticket is assigned a unique reference in the format similar to ABC-123456. - When a new ticket is added, the customer should receive an email confirming their request has been received along with their unique reference.

  • It should also include a URL which can be used to view the ticketʼs history and update tickets.

Notes about the management interface

  • Each member of staff should have a username & password used to login to the system - Staff can view a list of all unassigned, open tickets and take ownership. - Staff should be able to reply to the ticket by simply entering their response into a text field. As part of the same action, they should also be able to change the owner or status. - All changes to the status and owner should be tracked with each staff reply. - All replies should be e-mailed to the client.

  • Each ticket should be assigned a status - ʻWaiting for Staff Responseʼ, ʻWaiting for Customerʼ, ʻOn Holdʼ, ʻCancelledʼ or ʻCompletedʼ - further status may wish to be added in the future.

  • When a ticket is first created or updated by the customer, it should be assigned the ʻWaiting for Staff Responseʼ status.

  • The interface should have four main views:

    - New unassigned tickets
    - Open Tickets 
    - On hold tickets 
    - Closed Tickets
  • Staff should be able to quickly open up a new ticket by entering itʼs reference number into a search field. They may also wish to search based on the ticket subject.

Getting Started

Open project’s dir:

cd <project_dir>

Create database.yml file. You can use sqlite3 db (leave database.yml as it is) or change mysql settings:

cp config/database.example.yml config/database.yml

Create development.rb file. I’ve created gmail accout and use it as smtp server. You should provide other smtp settings.

cp config/environments/development.example.rb config/environments/development.rb

Install bundler gem

gem install bundler

Install gems:

bundle install

Run migrations:

rake db:migrate
rake db:seed

Start server:

rails s

Open the following link: 0.0.0.0:3000/admin/login

* Username: admin@example.com
* Password: password

Open user’s tab (0.0.0.0:3000/admin/users)

Create as many staff users as you want.

Now you can login into app as a staff user.

Notes:

* You can add new statuses of the ticket, see here: http://0.0.0.0:3000/admin/ticket_statuses
* Developed and tested on Ubuntu 11.04

About

A simple system for tracking incoming enquiries from customers with an easy to use interface for support staff to communicate with clients.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published