Book catalogue system in Python/Django.
Installation prerequisites: git, python, sqlite3
- Cloning the repo:
git clone https://github.com/jd7h/josephine.git
cd josephine/josephine
- Create a virtual environment and install dependencies:
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
- 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.
- 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.
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")
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).
josephine is named after Jo March, my favorite bookworm, from the novel Little Women by Louisa Alcott.