Inspiration
Often, after finishing a good book, readers are at a loss for what to read next. They look to their bookshelves or their to-be-read list and feel uninspired. They try to scour the internet, digging deep into Goodreads, to find any book that might make them feel the same way their last read did. It is a time-consuming and often futile process. That's where Hooked comes in.
What it does
Hooked is a "Tinder for books." After logging in, selecting their favourite genres, and inputting their top 3 books, users are presented with a deck of books. Each book card contains general information about the book, such as the author and genres. They can also view more details about the book by clicking a button. Users can click right to add the books to their liked list or left to reject them. All users, and their liked books and genres, are saved to a database in real time, and all suggested books are pulled from a separate database.
How we built it
The project was built using HTML, CSS, and JavaScript for the frontend graphics and animations, with a Python backend handling database operations. Data is stored in SQLite3 database files (.db) and rendered dynamically on the frontend using Jinja templates.
Challenges we ran into
Our biggest issue was collaborating on GitHub using VS Code. Often, we found that some of us were operating with older versions of the code, despite having recently committed and pulled. It was a challenge to make sure we were all always on the same page. We communicated often and compared codes to ensure we would not run into any merging issues later on. Another challenge was figuring out how to make the frontend connect with the backend. Despite having prior Flask experience, we would run into errors whenever we tried to display database information or when we tried to move from page to page. After debugging and a few trial-and-error fixes, we managed to make everything move smoothly.
Accomplishments that we're proud of
One of our biggest accomplishments was completing a lot of the parts we had as scalable. We were able to add a login, as well as a page displaying all the user's liked books. Another accomplishment was being able to complete the website with little time stress. We were able to go to bed by 11:30 pm, and we finished programming the entire website with 2h30 to spare.
What we learned
Each one of us came into this project with varying amounts of website development knowledge. By the end of this project, we all became very familiar with Flask, as well as front- and backend development. We got to learn all the different functions and methods involved in web dev. We also learned a lot about databases using SQLite3, and we were able to become more familiar with how to access and add data to a database.
What's next for Hooked
Going forward, we would like to expand Hooked to also act as a Tinder for various types of media, like movies, shows, artists, music, and perhaps even restaurants and cities.
Log in or sign up for Devpost to join the conversation.