libcat - a simple librarians catalogue with allegro-style input for kittens (POW!), initially developed for:
Bibliotheksverbund Trier-Klausen-Kues /(bvtkk)
- simple query search ($sqs) giving a list of results in the Search-component
- clicking one result loads the associated item in the BookEditBox-component
- working with catalogue items
- simple doc
- create
- update
- remove
- child doc (messy module patched implementation, until feathers-elasticsearch gets updated)
- create
- update
- remove
- nested doc (has extra editBoxes for the nested objects)
- create
- update
- remove
- find children of parent
- find parent of children
- simple doc
- GVK import by identifier (PPN)
- user authentification
- pretty print catalogue card
- import allegro data, see import folder, manage the following points (see the "mappings" in test-elastic.js)
- only one index type (doc) - as envisioned for ES6 (_doc)
- connect articles with books they are in, via allegro #849 field and ES-parent-child-relation. Rationale: We need 84 for regular entries of higher tier writings (übergeordnete Werke), so let's use the last slot of 84 (the 9th) for the join.
- have volumes of books connected via ES-nested-objects field: sub
- one index, one shard: scaling problems? current number of documents in bvtkk is about 10.000: so out use-case is to small to worry about this? what about others?
This project uses Feathers. An open source web framework for building modern real-time applications.
Elasticsearch (ES) as catalogue backend. For no particular reason I chose ES 5.6. Upgrading to higher versions of ES is definitely a goal.
Mithril.js as frontend gui lib. Why not React Native? Because mithril is awesome and building for small screens and touch interface is a non-goal. Working with libcat better suits desktop/laptop scenario.
Getting up and running is as easy as 1, 2, 3.
-
Install Elasticsearch and run it as a service. (5.6!)
-
Install your dependencies
cd path/to/bvtkk-app; npm install
-
Start your app
npm start
Simply run npm test
and all your tests in the test/
directory will be run.
No tests as of now.
Feathers has a powerful command line interface. Here are a few things it can do:
$ npm install -g @feathersjs/cli # Install Feathers CLI
$ feathers generate service # Generate a new Service
$ feathers generate hook # Generate a new Hook
$ feathers generate model # Generate a new Model
$ feathers help # Show all commands
For more information on all the things you can do with Feathers visit docs.feathersjs.com.
0.1.0
- Initial release
Copyright (c) 2016
Licensed under the MIT license.