Skip to content

nicolenair/visualizemybookshelf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Visualize My Bookshelf

A web app which automatically extracts and processes data about the books that a user has read and then visualizes that data in interesting ways. The algorithm currently sources data from both the Google Books API and Wikipedia, using both rule-based and deep learning-based extraction methods.

Installing / Using the App Locally

Clone the repository and run

cd visualizemybookshelf
python3.9 -m venv vmb-env
source vmb-env/bin/activate
pip install -r requirements.txt
python3 -c 'from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())'

After the script above ends, a secret key will be outputted. This is your Django secret key. Do not push it into version control. Create a file called .env and in it type the following:

SECRET_KEY = <your secret key from the previous step>
DEBUG = true

DEBUG is set to true in the development environment. Don't do this in production.

Then in the terminal type:

python3 manage.py migrate
python3 manage.py runserver

Then navigate to http://127.0.0.1:8000/ in your browser and you should be good to go

Brief Intro to Site Navigation

You'll first encounter a login page. Click on the "registration" link.

Screen Shot 2022-08-07 at 12 55 07

Register a user account and then login

Screen Shot 2022-08-07 at 12 55 45

Upon login, you'll be presented with your empty bookshelf. Type the title of a book you would like to add to your bookshelf into the search bar. Then, click "search"

Screen Shot 2022-08-07 at 13 29 53

The underlying information extraction algorithm will automatically search Wikipedia and the Google Books API based on the title you inputted and automatically extract relevant information about the book. The extraction procedure utilizes both rule-based extraction and a neural information extractor.

If another user has already searched for this book before, some of the the book's information is already saved in Visualize My Bookshelf's database, so the saved information will be pulled from the database to avoid unnecessarily re-extracting the information.

The title and author of the book will then be displayed to you. If the title & author are correct, click "add" to add the book to your bookshelf.

Screen Shot 2022-08-07 at 13 02 48

Based on the information extracted, visualizations of your bookshelf will be auto-updated and you can view them by clicking the appropriate tab. For example, if you click into the "Genre" tab you can see the distribution of genres of the books you have read.

Screen Shot 2022-08-07 at 13 03 25

TODO:

  • Proper error handling and unit testing
  • UI/aesthetical improvements
  • improvements in both the speed and accuracy of the automatic information extraction algorithm
  • increase in the variety of supported bookshelf visualizations & summarizations
  • CI/CD
  • auto importing of bookshelf data from Goodreads

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published