jd7h / josephine

Book catalogue system in Python 3/Django3, modeled after GoodReads and books.hansdezwart.nl. Comes with a GoodReads import script.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

josephine

Book catalogue system in Python/Django.

Screenshots

Index

josephine's index

All books

josephine's list of all books

Single book

josephine's view for a single book

Setup (Linux)

Installation prerequisites: git, python, sqlite3

  1. Cloning the repo:
git clone https://github.com/jd7h/josephine.git
cd josephine/josephine
  1. Create a virtual environment and install dependencies:
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
  1. Set up configfile, sqlite3 database and admin account
cp josephine/settings.example.py josephine/settings.py
python manage.py makemigrations
python manage.py makemigrations booklist
python manage.py migrate
python manage.py createsuperuser

And follow the steps to create a superuser.

  1. Start the Django server
python manage.py runserver

Point your browser at http://127.0.0.1:8000/admin and log in with your superuser account to view the admin panel. Josephine is not ready to be used in production in any way.

Using the GoodReads importer

scripts/ contains a python script for importing a GoodReads data export. This is a good way to quickly populate the database for development or demo purposes. You can get your own datadump from Goodreads or use the sample export csv in data/.

cd josephine
source venv/bin/activate
cd ..
python
from scripts import goodreads_importer
goodreads_importer.main("path/to/your/goodreadsdata.csv")

Inspiration

This project was inspired by GoodReads (owned by Amazon, not self-hosted), LibraryThing (not intuitive, not self-hosted), and https://books.hansdezwart.nl (PHP, not opensource).

Etymology

josephine is named after Jo March, my favorite bookworm, from the novel Little Women by Louisa Alcott.

About

Book catalogue system in Python 3/Django3, modeled after GoodReads and books.hansdezwart.nl. Comes with a GoodReads import script.


Languages

Language:Python 75.3%Language:HTML 19.0%Language:CSS 5.8%