This project was completed as a part of an online course I am currently enrolled in: CS50 (Web Programming with Python and JavaScript). I was excited to build project from the UI/UX design to the development and hosting.

What it does

Users can login or sign up, and then search for books to read and write reviews.


UI/UX design was made using a Figma project. I started by defining the colours, fonts, and key imagery for the site theme, and then started designing the screens.


The development of the site was made with Python using Flask, SQLalchemy, and Bootstrap. The Postgres SQL databases for users were created and hosted using Heroku. The books and reviews info is obtained from Goodreads, using their various APIs. The site is being hosted using AWS Elastic Beanstalk, with S3 storage and EC2 computing.

Challenges I ran into

One challenge I had was that the API to get the review info for a specific book only returned several "top" reviews, and not all. I had intended for the site to display all individual reviews, but decided to keep the top reviews instead.

Accomplishments that I'm proud of

I love projects where I can hands-on design the entire experience, from UI/UX and all through to the technical implementation. I liked this challenge to create a simple review site to get my hands dirty with Python and Flask, and Postgres SQL. I really liked how clean and simple the experience looks for users, and I'm excited to add more features in the near future.

What's next for Rad Reads

I am currently trying to host the site with Heroku, and will need to debug a few things before it can successfully be live. I also want to continue to expand some features, like the ability for users to see all of their own reviews easily from the Book page or their own personal page.

Deprecated Functionality

Unfortunately the Goodreads API has been deprecated by Goodreads, and I am looking for an alternative source for books and reviews.

Share this project: