Every day, students pay hundreds of dollars for textbooks that they could be getting for lower prices had they spent the time to browse different online stores. This disadvantageous situation forces many students to choose between piracy of textbooks or even going through a course without one. We imagined a way to automate the tedious process of manually searching online stores which offer cheaper prices.

What it does

Deliber allows users to quickly enter a keyword search or ISBN and find the best prices for books online by consuming book pricing and currency conversion information from several upstream APIs provided by Amazon Web Services, Commission Junction, BooksRun, and

How we built it

The backend processing dealing with upstream APIs is done in Go and client-side work is in Javascript with jQuery. Reverse proxying and serving of our website is done using the Apache web server. The user interface of the site is implemented using Bootstrap.

The Go backend uses many open-source libraries such as the Go Amazon Product API, the Go wrapper, and the Go Validator package.

Challenges we ran into

Parsing of XML, and to a lesser extent JSON, was a significant challenge that prevented us from using PHP as one of the backend languages. User interface design was also an obstacle in the development of the site.

A setback that befell us in the early stages of our planning was the rejection from the majority of online bookstores that we applied to for API access. Their main reason for rejection was the lack of content on the site since we could not write any code before the competition. We chose to persist in the face of this setback despite the resulting lack of vendors as the future potential of Deliber remained, and remains, high.

Accomplishments that we're proud of

In 24 hours, we built a practical tool which anybody can use to save money on the internet when buying books. During this short time period, we were able to quickly learn new skills and hone existing ones to tackle the aforementioned challenges we faced.

What we learned

In facing the challenges we encountered, we learned of the complexity of manipulating data coming from different sources with different schemas; the difficulty of processing this data in PHP in comparison to Go or Javascript; and the importance of consulting concise resources like the Mozilla Development Network Web Documentation. Additionally, the 24-hour time constraint of nwHacks showed us the importance of using open-source libraries to do low-level tasks rather than reinventing the wheel.

What's next for Deliber

Now that we have a functional site with the required content, we plan to reapply for API access to the online bookstores which previously rejected us. With more vendors comes lower prices for the users of Deliber. Additionally, API access to these vendors is coupled with affiliate status, which is a path towards making Deliber a self-sustaining entity through the commission earned from affiliate links.

Share this project: