Skip to content

modified readme file #85

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 87 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,98 @@
# README
# ProviDesk

This README would normally document whatever steps are necessary to get the
application up and running.
ProviDesk is an SaaS based ticketing system. Anyone can raise a ticket as request or complaint and track their process.

Things you may want to cover:
## Table of Contents

* Ruby version
* [Project Description](#project-description)

* System dependencies
* [Technologies](#technologies)

* Configuration
* [Tools](#tools)

* Database creation
* [Setup](#setup)

* Database initialization
* [Role](#role)

* How to run the test suite
* [Ticket Status](#ticket-status)

* Services (job queues, cache servers, search engines, etc.)
* [Sendgrid](#sendgrid)

* Deployment instructions
* [Ticket Transition](#ticket-transition)

* ...
* [api documentation link](#api-documentation-link)

## Project Description
It is a issue tracking system, user can create a ticket of type **request** or **complaint** assign to any specific department SPOC in their organization. System also escalates through email if there aren't any action taken on the tickets for certain timeframe.

## Technologies
Project is created with:
* Ruby version: 3.0.0
* Rails version: 6.1.7
* postgres: 1.1

## Tools
* Visual Studio Code
* Postman

## Setup
```
$ rvm install 3.0.0
```
Install Ruby
```
$ sudo apt update
$ sudo apt install ruby-full
$ ruby --version
```
Install Rails
```
$ gem install rails -v 6.1.7
```
## Role
* **super_admin  -**  Can create organizaton.

* **admin  -**  Can manage department, categories, tickets and users.

* **employee  -**  Can create a ticket, update a ticket, see all tickets created by the person and assigned to the person.

* **department_head  -**  Can create a category for their own department and also can create tickets. Can update tickets, users of their own department. Can edit role of the user in their department.


## Ticket Status
* **assigned  -**  Default state of the ticket.

* **inprogress  -**  Indicates the work has started for the ticket

* **for_approval  -**  If the request needs any approval to proceed further from authorized personnel.

* **reopen  -**  If the user is not satisfied with the work done by the resolver, he can reopen the ticket after approval.

* **resolved  -**  Indicates the work is comleted by the resolver.

* **closed  -**  If the user is satisfied with the work done by resolver, user can set up to ticket which enters closed state.

* **rejected  -**  Resolver can reject ticket, if not satisfied with request or complaint.

## Sendgrid
SendGrid is a cloud-based SMTP provider that allows you to send email without having to maintain email servers. SendGrid manages all of the technical details, from scaling the infrastructure to ISP(Internet Service Provider) outreach and reputation monitoring to whitelist services and real time analytics.

## Ticket Transition
  **1. assigned :**  Ticket transition from start to assigned state and from assigned state to inprogress, for_approval and to rejected.

  **2. inprogress :**  Ticket transition from assigned to inprogress and from inprogress to resolved state.

  **3. for_approval :**  Ticket transition from assigned to for_approval state and for_approval to inprogress and to rejected.

  **4. resolved :**  Ticket transition from inprogress to resolved state and resolved to closed and to for_approval states.

  **5. closed :**  Ticket transition from resolved to closed state.

  **6. reopen :**  Ticket transition from resolved to reopen state and from reopen to assigned, inprogress and rejected state.

  **7. rejected :** Ticket transition from assigned and for_approval to rejected state.

## api documentation link
```
/providesk_api/doc/api/index.html
```