The following project was created as a challenge for Zendesk's Co-op program. The application is able to use the Zendesk API to list and view Zendesk tickets. The project utilizes a front-end written in Javascript, HTML, and CSS as well as a back-end written in NodeJS.
Internship offer extended 😄
Fow a quick look at the application, here is a webserver hosted on AWS at zendesk.eshaanm.com
-
Make sure Node.js is installed
-
Clone the repository on your local machine
https://github.com/eshaanm25/zendesk-coding-challenge -
Navigate to the installation directory and fill in the .env file with the local variables supplied in the submission.
| Variable | Description | Example |
|---|---|---|
| SUBDOMAIN | The subdomain of the Zendesk account being accessed | zcceshaanm |
| OAUTH | OAUTH token used to authenticate with Zendesk API | Provided in submission details |
-
Run the following code to install the necessary npm packages
npm install -
Start the program
npm start -
By default, the project will be hosted on port 3000, so you can visit the webpage at localhost:3000
The testing framework for this application were made using Jest. Endpoint testing was also done using SuperTest. To test the application, run the following code.
npm test
./index.jsis the entry point for the application. However, it only includes the port that the server configuration./server.jsincludes API endpoints, Zendesk authentication information, and API error-handling./public/index.htmlis the entry point for the the front-end./public/js/ticketTable.jsis the Javascript involved with populating and paginating the ticket table./public/js/ticketInfo.jsis the Javascript involved with populating the ticket information panel./public/js/helpers.jsinclude helper functions that convert Zulu time provided from the API to GMT and map ticket statuses to emojis./public/css/style.cssincludes basic CSS for fonts, table colors, etc../testincludes files involved with unit testing code