vshelke / bookpro Goto Github PK
View Code? Open in Web Editor NEW๐ Book shopping comparision tool.
Home Page: https://book-pro.herokuapp.com/
License: GNU Lesser General Public License v2.1
๐ Book shopping comparision tool.
Home Page: https://book-pro.herokuapp.com/
License: GNU Lesser General Public License v2.1
Add a new price filter widget in the template find_books/results.html
to be able to filter the books
according to the price range.
The placement of the filter can be near the top search bar in results.html
page or any other place you find it perfect.
Note:- You can use any library you like or can come up with a custom implementation to learn.
Currently when a book is searched there are many related book that come up in the results and the relevant ones are pushed back due to sorting by price.
Come up with a solution where the exact results are shown first and the related results are shown in a subsequent section with heading Related Books
Type:
Pointers to start with:
search
function is responsible for getting the data from sources.all_items
and relevant
variables values and render them accordingly in the template find_books/results.html
in different sections.BookPro integrations are python classes inherited from thread class. These classes make request to the given endpoint and parse a list of books in a dictionary which is later used for further processing of results. These integrations help the BookPro to extend its search area to other websites.
The already implemented integrations for some major sites are available here.
url = https://www.bookswagon.com/search-books/<QUERY_HERE>
without angle brackets.data
dictionarydata = {
'title': '',
'author': '',
'offer_link': '',
'link': '',
'image': '',
'price': None,
'ISBN': '',
'provider': ''
}
find_books/integrations/bookswagon.py
class BooksWagon(Thread)
in bookswagon.py
parse_product
function to pull the details specified in data
dictionary from the soup
.self.items
find_books/integrations/__init__.py
put from .bookswagon import BooksWagon
find_books/views.py
and use it in the search
function to test the results.Describe the bug
At related book section, when I click on the cover of a book, appear information of a different book.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I expected that appear information about the book I clicked.
Desktop (please complete the following information):
BookPro integrations are python classes inherited from thread class. These classes make request to the given endpoint and parse a list of books in a dictionary which is later used for further processing of results. These integrations help the BookPro to extend its search area to other websites.
The already implemented integrations for some major sites are available here.
url = https://www.booksmela.com/catalogsearch/result/?q=<QUERY_HERE>
without angle brackets.data
dictionarydata = {
'title': '',
'author': '',
'offer_link': '',
'link': '',
'image': '',
'price': None,
'ISBN': '',
'provider': ''
}
find_books/integrations/booksmela.py
class BooksMela (Thread)
in booksmela.py
parse_product
function to pull the details specified in data
dictionary from the soup
.self.items
find_books/integrations/__init__.py
put from .booksmela import BooksMela
find_books/views.py
and use it in the search
function to test the results.BookPro integrations are python classes inherited from thread class. These classes make request to the given endpoint and parse a list of books in a dictionary which is later used for further processing of results. These integrations help the BookPro to extend its search area to other websites.
The already implemented integrations for some major sites are available here.
url = https://www.snapdeal.com/search?keyword=<QUERY_HERE>
without angle brackets.url
noOfResults=30
sort=rlvncy
data
dictionarydata = {
'title': '',
'author': '',
'offer_link': '',
'link': '',
'image': '',
'price': None,
'ISBN': '',
'provider': ''
}
find_books/integrations/snapdeal.py
class Snapdeal(Thread)
in snapdeal.py
parse_product
function to pull the details specified in data
dictionary from the soup
.self.items
find_books/integrations/__init__.py
put from .snapdeal import Snapdeal
find_books/views.py
and use it in the search
function to test the results.In this file! make the token
variable to ''
nothing. For security issues.
Tasklist:
Dockerfile
which can build and run the project.README.md
file.Note: Keep the Dockerfile
in the root folder and use python:3.6.6-slim
as base image.
Change the version of Django==1.11
to Django==1.11.15
Is your feature request related to a problem? Please describe.
Search by free text returns too many results. In my opinion, when user is about to comparing
the price, the user has already found the book he or she want
Describe the solution you'd like
add an option "By ISBN" in the search field.
I would like to have the instructions developing in docker clarified for how to develop. Please add what docker is and a link to its download to the README, as well as issues that may occur when attempting to develop in a windows environment. When attempting to setup my environment to develop using docker, I got the error that my source path did not exist when attempting to use the [docker run] command.
The code in the repository has to be documented in accordance with the Google style docstrings.
You can take any one of the files below and start documenting.
Areas Covered:
find_books/views.py
(@Hax7 )find_books/integrations/amazon.py
find_books/integrations/flipkart.py
find_books/integrations/infibeam.py
In this file!.
Make the key variables access_key_id
and secret_key
both to ''
for security reasons.
Currently the application uses Django==1.11.15
.
Migrate the whole project without breaking changes to latest django version Django==2.1.2
.
A new UI is required for both the index.html
and results.html
.
Type:
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.