srdg / goodreadsrec Goto Github PK
View Code? Open in Web Editor NEWA book recommender system using the Goodreads API. Deployed on heroku with Flask.
Home Page: http://goodreadsrec.herokuapp.com
License: MIT License
A book recommender system using the Goodreads API. Deployed on heroku with Flask.
Home Page: http://goodreadsrec.herokuapp.com
License: MIT License
Use this dataset to create a content based recommendation engine running in the backend. Display the API results and the engine results side by side.
Currently, exceptions occur in the following breakpoints:
similar_books
API call : results in IndexError
.ID/ISBN
search tag is invalid (current 404 page lists this reason to the user).Include 3 separate error pages (add the .html
files to templates
directory) for the three different cases and render the proper templates for each case.
The bug
Searching with any ISBN beginning with 0 crashes the app and redirect to a 404 page.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
App should have shown the recommendations.
Desktop (please complete the following information):
Smartphone (please complete the following information):
Resolution
The error stems from app.py:L30
where the information from the text box is stripped and converted to an integer to be stored in query_num
. Remove the conversion to int
and keep query_num
as a string.
Update the method names in app.py
as follows:
my_form_post()
➤ form_post()
my_form()
➤ form()
Use the URL re-routing feature in Flask such that, when the user searches for a book with ISBN no. or the book ID (Ref : #3) the app should reroute the user in the following template:
https://goodreadsrec.herokuapp.com/ISBN/<isbn-no>
or
https://goodreadsrec.herokuapp.com/ID/<id-no>
.
Change the following variable names and all of their references:
Extract the following code snippet:
if __name__=="__main__": app.run()
to a main() method.
For each module, write a pydoc stating the purpose of the parameter arguments and it's functionality.
There are some instances where Goodreads does not have any proper images of the book (for instance, book ID 425) and instead returns a custom book image with its logo. Check for these cases and render the image to a custom book image without the logo.
As an advanced approach, invoke the google search API with the book name and retrieve a poster/image of the book and render it on the app.
Currently, only the homepage, i.e. form.html
has the search option to use ISBN or ID (Ref #1). The error page does not have any search option at all.
Enable the searching options in all the html pages available in templates, so that the user can search from any page of the app.
App is deployed on heroku. Prepare primary documentation and update README.md
with available features.
In app.py:L17
:
Change gc.book(processed_text)
to gc.book(isbn=processed_text)
.
This will make the API search for the book with referenced ISBN number.
The user should be able to select the search with ISBN or ID of a particular book. Add a check-box to the form in the templates and include an if clause in app.py:L17
.
Make the app look more sleek. Responsive feature must not be compromised with. Other than that, feel free to customize the colours, look, design and user interaction in any way you see fit.
IMPORTANT : Before submitting the PR, take a screenshot/photo/video of your proposed design and post it on the #goodreadsrec channel of the discord server. Please wait for approval, on receiving which, you can submit the pull request.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.