Inspiration

I noticed that when I read, I tend to be more motivated to be productive in my free time. Furthermore, since libraries are not open to the public nowadays, I have been relying on ebooks. They can be a little frustrating to find because the book might not be on one website, so I'd have to look at another website and so on, so I thought that having a program that does that searching for me would be helpful.

What it does

Bookle takes a user input, searches for books that may match the input, and searches other ebook websites to see if those websites have it.

How I built it

I used Flask to build the website and GoodReads' API in order to look up books. Then, using the titles in the search results, I created the search links for other websites that have ebooks, and the user can then click on those 'pre-searched' links to see if that website has the ebook.

Challenges I ran into

It was difficult to figure out how to use the GoodReads' API because there aren't many resources for help, and I haven't interacted with XML files before. Once I figured that out, I tried to parse the ebook websites to check if the book was actually in their database, but I couldn't figure out how to parse a website. It was taking too long, so I had to scrap that part. I was also busy for the first day of the hackathon, so I couldn't work on the project and was on a bigger time crunch. Hosting the website also took a long time because the services that I were considering didn't support flask apps, and it took a while before I discovered that.

Accomplishments that I'm proud of

One of my learning goals is to get better at reading API documentation, so using GoodReads' API is something I am proud to have incorporated into this project.

What I learned

I learned more about XML files and how they're formatted, and I also learned that I need to look into website hosting websites before I create an account with them.

What's next for Bookle

I can add more trustworthy ebook websites for Bookle to search, and I also want to parse those sites to check if they actually offer the book. If they do, then it would be displayed on Bookle; otherwise, they don't be displayed.

Built With

Share this project:

Updates