BeanBag – My Sixth Semester Project

What is BeanBag?

Beanbag is a book cataloging application on steroids. It primarily relies on Amazon E-commerce Web ServiceISBNDB etc for getting information about the book.

Features

1) Add/Delete a Book

Give it an ISBN No, and it will query first the AWS to get book details (authors, publisher, recommendation, description, review, rating, Book Image). It queries ISBNDB only if it cannot find the book thru AWS.

2) Import/Export a Book

Import is pretty simple we just scan a file for valid ISBN No’s, then skip those which are already there in our catalog, then simply loop the Add a Book Function. One can Export either the entire book collection or the ones on the shelf.

3) Search

You can search the catalog for books based on Title / Author / ISBN.

4) Gutenberg reader

The entire Gutenberg archive of approx 19000 books is incorporated. A user can browse and download any book that he may please. Besides a user can check whether the book he has cataloged is available @gutenberg as an eBook. If so he can download and read it. All of this in two clicks.

 

5) Collecting Book Relevant Data

This is my fav feature. During the Book add procedure, after the user verifies the book as the correct one. We use the Yahoo Search API to locate the Wikipedia Entry for the Book ( By searching en.wikipedia.org and using the book title along with author in search string ). I would like to thank the team at Zepper for helping me out with the search API. They are one of the best SEO teams based out of Bangalore.

Once the wiki page is located we then use the Technorati COSMOS API to figure which blog post link to that books wiki page. Thru this we get relevant blog post talking about the book. Then comes into picture the Yahoo Site Explorer API wherein we get the links for the books wiki page. Through this we get relevaweb linksnks for the book. We repeat the above process for the author of the book. Get his wikipage and then use site explorer to get inlinks.

Now comes the most ambitiously stupid insane part. We use the Yahoo Image Search API  to extract 5 possible picture of the author. Then we use Librarythings API to locate the books catalog page at librarything.

And then the madness comes to an end.

6) Tracking Loaned Books

Incase u give the book to someone you can track the book as in to whom you gave it and when u did expect it back.

7) Read/Write/Blog Book Review

You can read the reviews fetched frm Amazon, write your own and even better, blog them.

How relevant is the Fifthth feature ?

I know it’s quite ambitious, it has the potential to work flawlessly or be a total disaster. Lot depends upon getting the correct wikipage for the Book. Coz if that is right, you will get mostly relevant data from Technorati COSMOS API and Yahoo Site Explorer (InLinks). But Sometimes for e.g say the book Anthem by Ayn Rand … Beanbag selects this page instead of this as the books wikipage. So everthing that follows is incorrect. We get ppl talking on their blogs about the various National Anthems or theirs. InLinks are incorrect too. I guess you get the picture.

Ok the usage of Yahoo Image Search API for finding the Image sounds kiddish … I did it for the fun of it Ok … And I learnt two things 1) It works … well almost … If it’s a POP / OLD Book ( with an uncommon author name (first name and last name combination) ) u will for sure get the picture of the author in the first two entires (e.g R.K.Narayan, J.K. Rowling) 2) I feel Yahoo image search is quite better than google ( I kind of checked for over a dozen authors  ) … I just coded this feature coz I felt it was something pretty cool to do … irrelavant maybe … cool … yep

What all is used?

Programming Language :

Everything is coded in C++. All the code is written from scratch, absolutely nothing has been borrowed frm ne open source project whatsoever except the code for BlogThis feature from CatKin. No other programming language or any Search SDK is used.Everthing is written frm scratch.

GUI ToolKit :

QT 4.2 Technology Preview is used. It was released as on June 30th. Prior to that i coded everthing in 3.3, yes 3.3 not even 4.0.

GNU/Linux

Ubuntu Breezy Bagger

Got to thank

Dipanjan is the VC of this project, coz for the last 15 days I am @ his place day and night just using his comp (dont hv one of my own) . He sponsered everthing frm lunch to dinner. At one point of time we were suppose to do this together. His semester exams and lack of knowledge of QT and Linux in general didnt help much. He’s a .Net Guy u see. However he chipped in with gutenburg integration (try parsing a 45MB sized XML to be dumped into a table) he did it and says it was lots of fun. Thanks dude … for everything …. Also Ankit … It was one of his weblog post that gave me the idea of a book cataloguing software ….

Things I learnt

C++ and QT 4.2 , Seriously what they teach in college as in the code we write for our lab problems and the theory we study doesnt really train us completely. There is a whole lot more to learn. C++ CookBook from Orielly is really good and so is C++ Primer and C++ FAQ.

I would like to say

AWS, Yahoo Web service is really robust, as in they are never down on maintenance. Yahoo has the best Web service doc … precise, straight to the point … In case of AWS until u dont get hold of the pdf ur lost … their website doesnt help much either … even after getting the pdf … u hv to spend atleast an hr finding things … May be they should make a web based documentation like these ones @ yahoo … u find what ur looking for in minutes …. Besides there are loads of cool stuff at developer.yahoo.com to check learn from.. I’m also going to take the help of the team at Yes Coupons to find out how I can start a deals and discounts website using what I’ve learnt.

I did a major blunder by opting for 3.3 instead of 4.0 initially wasted a whole lot of time … should  have tried a little more … There are lot of things/features are missing …. ran out of time to implement these for e.g user should be able to search books based on title/author frm amazon and get them displayed on the shelf and then frm amongst those chose the book he want to add, user should be able to browse the catalog in multiple ways … e.g click on the author and u should get the authors books only on the shelf and some stats abut the author … one should be able to clip in audiobooks for any book cataloged … The 5th feature should be user assisted i.e Show him a thumbnail of the Book Wikipedia and ask if this is the correct page, and so on …. QT needs to embed a web browser as a widget … say mozilla/gecko/firefox for that matter ( I hv heard abut webkit ) never tried … QTextBrowser is good for html only … Finally what is with this beanbag name … I know it sounds so lousy now that I think of it, bookkeep.in could hv been a good name … I guess i was stoned when I came up with this name …. Whatever … So this is what I made …

 

Democracy Tools from c4 at Yahoo OpenHackDay

I teamed up with my ex-hostel roommates Yatin and Ankur Patel and participated at Yahoo OpenHackDay. Team name – C4. We created Democracy Tools, which ended up being one of the Ten Winners.

It is made up of four tools

a) Search the government:

We made use of Yahoo BOSS API and created a custom search engine against government websites.

 

b) Know your constituency

Parsed a list of constituency from pdf and csv files we got of Net and Election commission websites.  So you can select the state and get the corresponding constituencies in it. Made use of Yahoo Maps and PlaceFinder API to do reverse geo encoding and get longitude and latitude of constituencies. Later used the coordinates to put markers on Yahoo Map.

 

c) Know your leader

Used YQL and parsed govcheck.net to get pictures of politicians and later parsed data from EC websites to get further data. Then used Yahoo BOSS – News API to see what the media has to say about the politicians. Yahoo BOSS Web Api to search on twitter and web.

d) Donate money to your leader

Used Paypal’s API to allow people to pay from one account to another.