meda123 / BookList

Book log and recommendations site - Hackbright project! As a long time reader I wanted to build a user-friendly reading list that helped users track books they would like to read!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BookList

BookList is the 4 week project that I completed during my time as an software engineering fellow at Hackbright. BookList is a reading list and book recommendations site, ideally by knowing what to read next you spend less time finding your next read and read more books. BookList is powered by the Typeahead Javascript library and the Goodreads API so that a user does not have to spend time remembering book titles/authors and can add a book to their reading list on the go.

Contents

Technologies [Database Model](#database model) Features Installation Technologies

Backend: Python, Flask, PostgreSQL, SQLAlchemy, Beautiful Soup Frontend: JavaScript, jQuery, AJAX, Jinja2, Bootstrap, HTML5, CSS3, Typeahead JS APIs: Goodreads

Features

Homepage

alt text

Dashboard

alt text alt text

View Lists

alt text

Installation

Install PostgreSQL (Mac OSX)

Clone or fork this repo:

https://github.com/meda123/BookList Create and activate a virtual environment inside your BookList directory:

virtualenv env source env/bin/activate Install the dependencies:

pip install -r requirements.txt Sign up to use the Goodreads API (https://www.goodreads.com/api)

Save your API key in a file called secrets.sh using this format:

export APP_ID="YOUR_KEY_GOES_HERE" Also in secrets.sh add the infomration for the mail server you want to use in this format:

Source your keys from your secrets.sh file into your virtual environment:

source secrets.sh Set up the database:

python model.py Run the app:

python server.py You can now navigate to 'localhost:5000/' to access BookList.

About

Book log and recommendations site - Hackbright project! As a long time reader I wanted to build a user-friendly reading list that helped users track books they would like to read!


Languages

Language:JavaScript 75.6%Language:Python 13.9%Language:HTML 9.3%Language:CSS 1.2%