Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/saarikabhasi/book-website
The Book Fair- A Book reviewing website
https://github.com/saarikabhasi/book-website
cs50 css flask-application goodreads-api google-books-api heroku html5 postgresql python3 web-application
Last synced: 15 days ago
JSON representation
The Book Fair- A Book reviewing website
- Host: GitHub
- URL: https://github.com/saarikabhasi/book-website
- Owner: saarikabhasi
- Created: 2020-05-21T20:51:12.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-02-16T01:37:09.000Z (over 1 year ago)
- Last Synced: 2024-10-17T08:07:29.739Z (27 days ago)
- Topics: cs50, css, flask-application, goodreads-api, google-books-api, heroku, html5, postgresql, python3, web-application
- Language: HTML
- Homepage: https://the-booklover.herokuapp.com/
- Size: 570 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Deployment: https://the-booklover.herokuapp.com/
Youtube: https://www.youtube.com/watch?v=6i0gpEAdXM0&pbjreload=101
![alt text](https://user-images.githubusercontent.com/55930906/84531715-fbfc6600-acb2-11ea-8a17-911be2c38297.png?raw=true)
![alt text](https://user-images.githubusercontent.com/55930906/84535544-feae8980-acb9-11ea-81e3-a508bcdd6e33.png?raw=true)
![alt text](https://user-images.githubusercontent.com/55930906/84529435-732ffb00-acaf-11ea-98b7-a375865f4b8c.png?raw=true)
![alt text](https://user-images.githubusercontent.com/55930906/84529458-7aef9f80-acaf-11ea-8c5c-8bbbe29e1cb1.png?raw=true)
![alt text](https://user-images.githubusercontent.com/55930906/84529464-7d51f980-acaf-11ea-941a-9fe718b06a3c.png?raw=true)
![alt text](https://user-images.githubusercontent.com/55930906/84529470-804cea00-acaf-11ea-803a-0341d39dd645.png?raw=true)### Description:
Development of a Book Reviewing website - **'The Book Fair'**
The Book Fair website allows its user to,
1. Register
2. Login
2. search books
3. see the book details
4. leave comments and rate the book on the scale of 1 to 5.
5. Book's average rating and comments left by users
6. pulls Rating information from third-party websites **Good Reads and Google Books**.### General information:
1. Pulls book publisher details, description, book cover thumbnail image from the Google books API.
2. Database setup using Heroku and PostgreSQL.
3. Supports smaller screens.
4. Users can make a API get request to the website by https://the-booklover.herokuapp.com/api/isbn.
* isbn is the book isbn number:
* Example:
* https://the-booklover.herokuapp.com/api/0380753022 (isbn: 0380753022)
```
{
"author":"Johanna Lindsey",
"average_score":2.67,
"isbn":"0380753022",
"review_count":4,
"title":"Gentle Rogue",
"year":1990
}
```
* 404 error if isbn in not found in the DB:
```
{
"error":"Invalid isbn number",
"status_code":404
}
```### Setup:
---------------
```
# clone repository
git clone https://github.com/saarikabhasi/CS50-project1-Books.git
# Create a virtualenv(optional)
python3 -m venv venv
# Activate the virtualenv
source venv/bin/activate or .venv/bin/activate
# Install all dependencies
pip install -r requirements.txt
# ENV Variables
export FLASK_APP=application.py
export FLASK_ENV=development #To enable debug mode. Reference#https://flask.palletsprojects.com/en/1.1.x/config/
export DATABASE_URL = Heroku Postgres DB URI
export GR_key = Goodreads API Key. Reference#https://www.goodreads.com/api/keys
```
### Database Schema:
--------------------
1) Books( book_id integer, isbn varchar, title varchar, author varchar, year integer)
* Primary key:
* isbn
2) users(user_id integer,email_id varchar, password varchar,name varchar)
* Primary key:
* email_id
3) reviews(id integer, contents text NULL , rating numeric NULL, isbn varchar, email_id varchar)
* Primary key:
* id
* Foreign Key:
* isbn refers to (books:isbn)
* email_id refers to (users:email_id)
### Built with:
--------------------1. [Bootstrap (version: 4.5)](https://getbootstrap.com/)
2. [Microsoft Visual code (version:1.44)](https://code.visualstudio.com/)
3. [Flask (version: 1.1.2)](https://flask.palletsprojects.com/en/1.1.x/)
4. [Flask-Session(version: 0.3.2)](https://flask.palletsprojects.com/en/1.1.x/)
5. [gunicorn (version: 20.0.4)](https://pypi.org/project/gunicorn/)
6. [Jinja2 (version: 2.11.2)](https://jinja.palletsprojects.com/en/2.11.x/)
7. [psycopg2 (version: 2.8.5)](https://pypi.org/project/psycopg2/)
8. [requests (version: 2.23.0)](https://pypi.org/project/requests/)
9. [SQLAlchemy(version:1.3.17)](https://flask-sqlalchemy.palletsprojects.com/en/2.x/)
10. [Werkzeug(version:1.0.1)](https://werkzeug.palletsprojects.com/en/1.0.x/)
11. [Python(version 3.7.3)](https://www.python.org/)
12. HTML5
13. Cascading Style Sheets (CSS)
### Author:
------------
NAIR SAARIKA BHASI