From e154989a16a24332bee2e7c1fd9b706b0dda1a09 Mon Sep 17 00:00:00 2001 From: h7x4 Date: Fri, 12 May 2023 02:58:45 +0200 Subject: [PATCH] Update README --- README.md | 83 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 48 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index 6845940..e4a6cea 100644 --- a/README.md +++ b/README.md @@ -20,12 +20,6 @@ Styret har derfor tatt initiativ til å opprette et biblioteksystem for å syste Prosjektet har fått navn Worblehat etter en bibliotekar i Terry Pratchetts discworld serie. Worblehatt har vært påbegynnt flere ganger opp gjennom historien uten å komme i noen form for funksjonell tilstand enda. -## How? - -The application is split into frontend and backend. The frontend is written with react-scripts, and communicates with the backed through a REST api. - -The backend is written in Flask, and uses an ORM(SQLAlchemy) to store the data in any kind of SQL database. - # Technical details ## Setup @@ -35,39 +29,58 @@ This project uses [poetry][poetry] as its buildtool as of May 2023. ```console $ poetry install $ poetry run alembic migrate -$ poetry run cli -$ poetry run dev +$ poetry run worblehat --help ``` ## How to configure -See `worblehat/config.py` for configurable settings. +See `config.template` for configurable settings. + +Unless provided through the `--config` flag, program will automatically look for a config file in these locations: + +- `./config.toml` +- `~/.config/worblehat/config.toml` +- `/var/lib/worblehat/config.toml` + +Run `poetry run worblehat --help` for more info ## TODO List -- [ ] High priority: - - [X] Data ingestion logic, that will pull data from online databases based on ISBN. - - [ ] Cli version of the program (this is currently being worked on). - - [ ] Web version of the program - - [ ] Setting up a database with all of PVVs books - - [ ] Creating database with user and pw - - [ ] Model all bookshelfs - - [ ] Scan in all books - - [ ] Inner workings - - [X] Ability to create and update bookcases - - [X] Ability to create and update bookcase shelfs - - [X] Ability to create and update bookcase items - - [X] Ability to request book loans for PVV members - - [X] Ability to queue book loans for PVV members - - [X] Ability to be notified when deadlines are due - - [ ] Ability to be notified when books are available - - [ ] Ability to search for books - - [ ] Ability to print PVV-specific labels for items without a label, or for any other reason needs a new one - - [ ] Ascii art of monkey -- [ ] Low priority: - - [ ] Ability for PVV members to request book loans through the PVV website - - [ ] Ability for PVV members to search for books through the PVV website -- [ ] Discussion - - [ ] Should this project run in a separate tty-instance on Dibblers interface, or should they share the tty with some kind of switching ability? - After some discussion with other PVV members, we came up with an idea where we run the programs in separate ttys, and use a set of large mechanical switches connected to a QMK-flashed microcontroller to switch between them. - - [ ] Workaround for not being able to represent items with same ISBN and different owner: if you are absolutely adamant about placing your item at PVV while still owning it, even though PVV already owns a copy of this item, please print out a new label with a "PVV-ISBN" for it \ No newline at end of file +### Setting up a database with all of PVVs books + +- [ ] Create postgres database +- [ ] Model all bookshelfs +- [ ] Scan in all books + +### Cli version of the program (this is currently being worked on) + +- [X] Ability to pull data from online sources with ISBN +- [X] Ability to create and update bookcases +- [X] Ability to create and update bookcase shelfs +- [X] Ability to create and update bookcase items +- [X] Ability to borrow an item +- [X] Ability to enter the queue for borrowing an item +- [ ] Ability to extend a borrowing, only if no one is behind you in the queue +- [ ] Ability to borrow multiple items at a time +- [ ] Ability to deliver multiple items at a time +- [ ] Ability to list borrowed items which are overdue +- [ ] Ability to search for items +- [ ] Ability to print PVV-specific labels for items missing a label, or which for any other reason needs a custom one +- [ ] Ascii art of monkey with fingers in eyes + +### Deadline daemon + +- [X] Ability to be notified when deadlines are due +- [ ] Ability to be notified when books are available +- [ ] Ability to have expiring queue positions automatically expire + +### Web version of the program + +- [ ] Ability for PVV members to search for books through the PVV website + +## Points of discussion + +- Should this project run in a separate tty-instance on Dibblers interface, or should they share the tty with some kind of switching ability? +After some discussion with other PVV members, we came up with an idea where we run the programs in separate ttys, and use a set of large mechanical switches connected to a QMK-flashed microcontroller to switch between them. + +- Workaround for not being able to represent items with same ISBN and different owner: if you are absolutely adamant about placing your item at PVV while still owning it, even though PVV already owns a copy of this item, please print out a new label with a "PVV-ISBN" for it \ No newline at end of file