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.