Project 1 for Harvard's CS50's Web Programming with Python and JavaScript Course, with some Extras.
See- Project Instructions.
Book-Reviews web app, created using flask, postgreSQL, Goodreads API.
- Registration: Users are able to register to the website, providing a username, password and Email address.
- Login: Users, once registered, are able to log in to the website with their username and password. Also implemented a "remember me" option, sessions.
- Create and Import: Using the create.py file, the database tabels and relationships are automatically created and books are imported to the database from a given books.csv file.
- Search: Once a user has logged in, they can search for a bookby ISBN number, title, or author. After performing the search, the website displays a list of possible matching results, or some sort of message if there were no matches. If the user typed in only part of a title, ISBN, or author name, the search page finds matches for those as well.
- Book Page: When users click on a book from the results of the search page, they are taken to a book page, with details about the book and any reviews that users have left for the book on your website.
- Review Submission: On the book page, users are able to submit a review: consisting of a rating on a scale of 1 to 5, as well as a text component to the review where the user can write their opinion about a book. Users are not able to submit multiple reviews for the same book.
- Goodreads Review Data: On the book page, we also display (if available) the average rating and number of ratings the work has received from Goodreads.
- API Access: If users make a GET request to the website’s /api/ route, where is an ISBN number of a book, the website returns a JSON response containing the book’s title, author, publication date, ISBN number, review count, and average score.
See requirements.txt
.
To run on your machine:
- Clone the repository
- Set an environment variable
FLASK_APP=book_reviews.py
- Use the
flask run
command
The app is deployed at:
https://book-reviews-a.herokuapp.com