DEV Community

Cover image for Random Book Recommender - DigitalOcean App Platform Hackathon
Yasser Zaheer
Yasser Zaheer

Posted on

Random Book Recommender - DigitalOcean App Platform Hackathon

What I built

As someone who loves to read, I'm always looking for the next eye-opening book that can make time seem like a breeze. I've created an app that recommends random books to users.

Category Submission:

Random Roulette

App Link

Check out the App here

Screenshots

Landing Page
Book recommendation page

Description

The app is designed to be simple and straightforward to use, recommend a book to the user and help them discover a new perspective on life or get enveloped in an exciting adventure that makes time pass feel ever so fast.

Users click on the "Recommend a book" button which then recommends a book at random. Users can also view the book by clicking on the "View book" button.

Link to Source Code

Source code can be found here

Permissive License

MIT

Background

I've always wanted to discover new books but didn't know where or how to start. After I'd finish a book I would feel lost so as to not know what to read next. I was inspired by the random name generator that is so widely available on the internet. If people could use such a tool to get a name, then I could build something similar to help me discover new books. And so, that's what I ended up doing!

How I built it

I was able to make use of both DigitalOcean's App Platform and Databases for my app. I used python and Flask as the backend while using HTML with Bootstrap for the frontend. Was able to learn to send data between frontend and backend through HTTP requests as well as configure environment variables for secrets.

Future plans include adding filters for recommendations as well as adding links to purchasing the book and also including more information such as genre and a short summary. I also plan to use docker and CI/CD tools for more automation in the future.

Additional Resources/Info

Both of DigitalOcean's infrastructure used in this project use the lowest end infrastructure configurations available.

Top comments (0)