Many of us love reading books and exploring fantasy worlds. The thing is, sometimes we might not have friends to talk about our passion for the Harry Potter series with or be able to meet others who share the passion due to the Covid-19 pandemic. This inspired us to look for an app to socialize about books we enjoy, yet we couldn't really find any great apps; so we ventured to create one for ourselves. That is where our idea of BookThink came along, and the rest was history.
What BookThink does
BookThink is a mobile app that gives book lovers the opportunity to connect with other readers via book discussion posts and sharing recommendations. Users can interact with others through reading and creating both discussion posts and book ratings, in which they might find new book recommendations or bond with people over shared reading interests. Additionally, readers can follow their favorite authors to recieve a notification when they release a new book.
How we built it
This app is mostly created in the Python language. For back-end and front-end functionality, we used the cross-platform Python Framework Kivy. This includes our UI/UX design and all the functionality of the UI, which we also planned beforehand using Figma. For our database, we used MongoDB and Bcrypt to keep user information safe and secure.
Challenges we ran into
The biggest challenge we ran into was coding the UI design as closely as we could with Kivy, a Python-dependent graphical user interface (GUI). This was our first time creating a phone application and using Kivy, so we had to learn to build up the framework structure with it on the fly. There was a lot of time spent reading up on documentation and revising code, but due to our teamwork and asking each other for help, we were able to come through and create a program with Kivy in just two days while learning it; which felt great as a team effort.
What we learned
Through the development of BookThink, we learned about the process of building a mobile app in detail; we each took part in the process, from brainstorming app ideas to front-end UI development to back-end coding and database management. In addition, BookThink was our first time working with sensitive information and encryption, and we learned to link the application to a database through it. Overall, everyone walked away with a greater appreciation and understanding for app and software development and the hard work that goes into it.
What's next for BookThink
Looking to the future, we'd love to expand BookThink's virtual library of books and create a website for it. We'd also like to implement features that further encourage social interaction, such as supporting comment threads more smoothly, in order to push its primary purpose of connecting people more.