Designed to retrieve Zendesk ticket information from an organization then store it in a SQL database using the Zendesk Ticket API. Once stored in the database, this information is pulled and displayed on the Dashboard where users can filter the data using a table UI.
By default Zendesk API is protected by authentication. There's a couple of different methods for exposing this API however, user and password combination and basic authentication. For the purpose of not exposing our passwords we'll be using the API authentication token method.
After you generate your token, make this call in your terminal to base64 encode it:
echo -n {your_Zendesk_email/token:{api_token}} | openssl base64
The above is needed in order to use this project. In order for this project to use your token authentication, it passes this in the header as Authorization: Basic {base64_email_token_combination}
.
- Clone this Repo
- Head over to this directory
- Create Zendesk API Key
- Base64 encode the key
- Upload it to the
.env
file underAPI_KEY
docker-compose up
- Webapp http://localhost:3001 & API http:localhost:8000
- Python: Retrieving the information
- PostgreSql: Storing the retrieved information
- React/Next.js: Front end dashboard
- Docker/Docker-compose: Containerize each service and ready it with
docker-compose up
Run the below command anytime you make an update to requirements.txt
. It needs to be re-build to download all dependencies for the project:
docker-compose build
*** Ticket Info repository is not meant for production use as there's no form of security implemented for this. This is meant to be used locally for read only Zendesk ticket data. So please use at your own risk. Some precautionary changes are outlined with the TO-DO
comment in the correct files. ***