No description
Find a file
renovate-bot 01426a38f1
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
chore(deps): refresh pip-compile outputs
2025-03-23 11:12:10 +00:00
.vscode Add easy-thumbnails and cache book covers 2025-02-10 22:55:46 +01:00
container Create media_files during build to ensure proper permissoins 2025-02-11 11:22:59 +01:00
site Improve error output if a importer isnt fully configured 2025-02-13 11:03:29 +01:00
.dockerignore Add nginx service, add static files volume 2023-08-15 22:22:24 +02:00
.drone.yml chore(deps): update plugins/docker docker digest to d73544e 2025-03-23 11:09:56 +00:00
.flake8 Initial commit 2023-07-24 21:19:52 +02:00
.gitignore Fix env file location 2023-08-15 18:00:36 +02:00
.isort.cfg Add isort to pre-commit 2023-08-27 17:50:47 +02:00
.pip-tools.toml pip-compile: Add allow unsafe, to handle setuptools 2025-02-10 22:16:01 +01:00
.pre-commit-config.yaml Bump versions 2024-10-12 10:37:52 +02:00
docker-compose.yaml Create media_files during build to ensure proper permissoins 2025-02-11 11:22:59 +01:00
env-file.example Add README and env-file.example 2023-08-26 22:43:34 +02:00
Makefile Update makefile to use proper requirements files 2023-10-16 12:53:28 +02:00
README.md Add README and env-file.example 2023-08-26 22:43:34 +02:00
renovate.json chore(docker): remove digests to reduce renovate updates 2024-10-07 10:36:24 +02:00
requirements-dev.in chore(deps): update dependency pre-commit to v4.2.0 2025-03-18 22:03:01 +00:00
requirements-dev.txt chore(deps): refresh pip-compile outputs 2025-03-23 11:12:10 +00:00
requirements.in pip-compile: Add allow unsafe, to handle setuptools 2025-02-10 22:16:01 +01:00
requirements.txt pip-compile: Add allow unsafe, to handle setuptools 2025-02-10 22:16:01 +01:00

Django based library tracking

This project allows managing a book library, by importing books through search or by ISBN.

My goal was to have a solution to keep track of which books I own, and which books I've already read.

Running the application

If you are familiar with django (or python apps in general), you can create a new virtual environment, and install the requirements, and then use the settings.py to configure your deployment.

But I would recommend to use the docker setup instead.

There is a dockerfile that can be used to build an image, and the docker-compose file can help you run the application.

Since django supports a multitude of databases, and I prefere to have a single shared database for all my applications, there isn't a database service in the compose file, but it's possible to configure the database connection using enviornment variavbles.

You can checkout the example env-file in the repo to see how to configure psql.

Google Books API

The application uses the google books api to fetch all book information and perform searches. To make use of it, you'll have to configure your own google api key.

Check out the google docs, how to get your API key at https://developers.google.com/books/docs/v1/using#APIKey

Updating book information

The application provides a CLI command, to update all books from the google books API at once.

The command is executed through the django manage.py as usual. To run it inside the container you can use this command

$ docker exec -it django-book-tracker-book_tracker-1 sh -c "python /app/manage.py update_books"