Update README
This commit is contained in:
parent
b83175e39a
commit
e154989a16
83
README.md
83
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
|
||||
### 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
|
Loading…
Reference in New Issue