Inspiration
Shawn and I were trying to solve the issue of high textbook costs for students in where students could conveniently borrow physical books from others but still easily borrow them online. Inspired by public libraries, ShareLit is an online, crowdsourced public library.
What it does
Upon registering, ShareLit allows the user to view all of the current book listings on the site. Information about the supplier, such as name, email, and location can also be viewed. The user can then request a book from another user, specifying the amount of time they would like to borrow the book for. This then opens up a chat between the two so that the two can negotiate an agreement and the supplier can mail the requested book.
How we built it
Using experience from Harvard's CS50x course, we used Flask as our main framework to build a web app to host the website. CS50 supplied us with knowledge of Python, SQL, HTML, CSS, JavaScript, Flask, and Bootstrap, which helped us create the underlying structure for the idea.
Challenges we ran into
We had issues with designing and completing a chat system between two users since that was completely new to us. Additionally, with this being our first hackathon and us having busy schedules, we were under time pressure due to the constraint, meaning we had to drop optional features and stick with core features for a minimum viable product (MVP).
Accomplishments that we're proud of
We were able to get the listing logic working as have the website be mobile responsive. In addition, we're proud of the fluid UI we were able to make in such a short time.
What we learned
We learned how to take advantage of several Bootstrap utility classes to write less CSS, how to use SocketIO to manage events on our web server, how to integrate SQL with a web server to allow for more persistent data, and how to host our website using PythonAnywhere.
What's next for ShareLit
We plan to add accountability features to make sure users receive/return books, utilize a books API to allow for searching when creating a listing, add images to book listings, and add a separate listing view option where listings are shown as separate boxes instead of simply rows in a table.
Log in or sign up for Devpost to join the conversation.