What it does
I created a library (TigerGraph.js) and provided documentation for TigerGraph.js to allow users to more easily use and integrate TigerGraph with Node.js. From the website, you can look at particular commands and use the library to query your graph.
To use it, you can install the library with:
npm install tigergraph.js
Generate a token, then create a connection and then code whatever you please.
How I built it
I used Node.js, which queried the TigerGraph REST API and simplified the requests to a single function. To create the queries, I used the standard https library so importing external libraries weren't necessary. The createToken was a single function that got exported, but to create the connection, I used and exported a class. Finally, I created an NPM account to publish the library. When creating the commands, I tried to make them similar to pyTigerGraph so going back and forth doesn't pose a problem. For the documentation, I use mkDocs and their material theme and I published the website on GitHub Pages.
Challenges I ran into
Dealing with Promises and callbacks were difficult for me and took a few days till I was able to complete it. In addition, figuring out how to create the REST calls (especially with the headers) proved to be difficult for me as well. Before, I constantly got bad request errors and I didn't understand why. After a few days, I realised it was because the token wasn't sending and I couldn't send the token through the url; rather, I had to send it through the header.
Accomplishments that I'm proud of
I'm proud that I got the opportunity to create and publish an NPM library. In addition, when I was experimenting with TigerGraph.js and Discord.js, I found it cool how my work is a real library, which can work with other libraries and be used by others. I also found it mind-blowing how I could actually use it with projects.
What I learned
I learned how to use TigerGraph's REST API and pass a header in a GET request with https. In addition, I learned how to create an NPM library, and I've gained a thorough respect for those who create libraries now. I learned how to deal with the asynchronous ways of Node.js by using callbacks and promises.
What's next for TigerGraph.js