From fd91bacd8ca0f914b6360040f8eb5d20a934f3ed Mon Sep 17 00:00:00 2001 From: Nutan Hiwale Date: Wed, 7 Dec 2022 11:52:37 +0530 Subject: [PATCH] modified readme file --- README.md | 100 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 87 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 7db80e4..588817a 100644 --- a/README.md +++ b/README.md @@ -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 +```