Our Blog

Engage with us

Now showing articles in "grape"

Building an API

Posted 2013-07-08 14:52:11 GMT

Later this year, for the first time ever, my company has to build an API so third parties can more easily access date stored in our applications. Additionally, we are going to be providing an authentication mechanism for other applications that our clients may write using our API. Invariably, the first time I try something new, I make more than a few mistakes along the way, and I'd rather not make them in this API. So I am going to make these mistakes while designing an API for another product I love :)

IssueTrak, our helpdesk software vendor, has a great API already, but with them going all-in on the development of the new version of their product, they haven't been able to support all the great new features of IssueTrak in their API. So what better opportunity for me to learn something new than to build an API that includes these features?

But building the API isn't enough. I'd like to use this experience to learn some new tools, too. I had originally wanted to use Grape (and learn Ruby), but the sad reality is that if I want to get this done in any reasonable amount of time, I'm going to have to use Perl. So I'm going to change up my usual toolchain a bit. Instead of Dancer, I am going to use the newly-released Dancer 2 (going wild, I tell you!). After some discussion with rjbs, I am going to take a stab (inside joke) at Text::Template instead of TT2. For the help browser, I am going to use PureCSS over my beloved Bootstrap.

I'm hoping at the end of this adventure that I will have learned how to build a sane API that others will have an easy (and enjoyable?) time using, and that I'll have gained some understanding of some new tools that may be useful for future projects. If not that, I'll have had a nice exercise in expanding my horizons, getting out of my usual habits, and finding another way to do things.

Tags: issuetrak perl ruby purecss bootstrap tt2 dancer grape crome-plated