Students struggle to pay for expensive college textbooks

  • College students have enough to worry about at school, without having to worry about how they're going to pay for overly priced textbooks
  • BudsList aims to provide a platform for buyers and sellers of used books to interact

What it does

Great things. Selling a book:

  • On creating an account, a user can post a listing for a book they want to sell just by entering the ISBN number, selling price, binding-type
  • Our App scrapes an ISBN search website and gets details about the book (author, title) to display on the listings page
  • While posting a listing, the user can opt to add course information along with the book - by selecting the department (Georgia Tech) from a pre-populated drop-down list and entering the course number.
  • This would enable prospective buyers to search for required textbooks based on the course.

Buying a book:

  • If a User wants to buy a book, they can make a request for the book listed at a certain price by the seller
  • The seller can then view these requests and decide which buyer he/she would like to contact in order to discuss exchange

How I built it

Android Studio, Python scripts, Java

  • Our main app is an Android App which we created using Android Studio
  • We wrote python and java scripts to pull data off the web - ISBN data, course data from gatech department + course listings

Challenges I ran into

  • Firebase didn't connect with Android Studio, so we had to decide to temporarily use local storage (with no persistence) until we can find time to set up the database
  • Under pressure, we had to create a facade that maintains references to the classes and maintains multiple static lists to store data
  • We initially tried to incorporate a python script we wrote to scrape the web to get book details like author, title from a website by searching using the ISBN. However, Android Studio didn't work with it, so we had to rewrite the script in Java.
  • That script also didn't work because Android Studio doesn't let you access the Internet during the execution of an Activity. We had to create a separate Thread to run the script as a background process.

Accomplishments that I'm proud of

  • UI - we made it look so good
  • Figuring out how to scrape the web, and update the App with the collected data
  • Our teamwork
  • Staying awake
  • Working around not having a database
  • Making a fully functional app from scratch in less than 30 hours

What I learned

  • Android Studio features
  • Scraping the web with Java
  • Debugging in Android Studio
  • Working under pressure

What's next for BudsList App

  • We want to provide payment methods and allow transactions to occur on our app
  • We want to set up the realtime database so we can link our App to it and query it for realtime information
  • We want to implement an efficient search algorithm that makes it easy for the user to search for a book by course, title, author, isbn or title.
Share this project: