hsethi2709 / zendesk-challenge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Zendesk Challenge

A minimal application to query data through an interactive command line shell. The application facilitates searching for records by user, tickets or organisation. Search can be performed by utilising any available fields from the three criteria.

Table of Contents

  1. About The Project
  2. Getting Started
  3. Usage
  4. Contact
  5. Acknowledgements

About The Project

A minimal application to query data through an interactive command line shell. The application facilitates searching for records by user, tickets or organisation. Search can be performed by utilising any available fields from the three criteria with either exact-match or near-match. It will also validate the inputs given and provide appropriate message for the valid input. When you search by any one category, you will be provided with the list of search terms that can be used in that category for searching.

Some points to note:

  • The database loads the data from three given json files into ZENDESK-CHALLEGE/app/data/zendesk.json
  • Only one key can be selected for search
  • All the terms for a specific table will be displayed to choose from instead of asking as an input to avoid human errors and make it more intuitive
  • You can also look for empty fields in the database
  • If you only know the starting alphabet for a value, it will give back results all the results that starts with it.
  • Inputs will be validated at every step

Built With

Getting Started

  1. Clone the repo
  2. python -m venv venv && source venv/bin/activate
  3. pip install -r requirements.txt
  4. Launch the shell by running the command - python main.py

A shell should prompt with the below welcome message

alt text

Usage

Use up/down arrow to select preferred choice to use the search.

alt text

Option 1: Search Zendesk

alt text

alt text

Option 2: See a list of all searchable field

alt text

Additional Usage Near match - application can return results for search fields even if exact value is not provided

alt text

Search value validation - Application makes sure that the entered value for the search fields is in appropriate format, else valid error messages are returned

alt text

Project Structure

ZENDESK-CHALLEGE
 ┣ app
    ┣ controller
    ┃ ┣ listFields.py
    ┃ ┗ search.py
    ┣ data
    ┃ ┣ organizations.json
    ┃ ┣ tickets.json
    ┃ ┗ users.json
    ┣ model
    ┃ ┗ db.py
    ┣ view
    ┃ ┗ zendeskPrompts.py
 ┣ tests
 ┣ main.py
 ┣ README.md
 ┣ requirements.txt 

Contact

Harshit Sethi - Personal Website - hsethi2709@gmail.com

Acknowledgements

About


Languages

Language:Python 100.0%