Giter Club home page Giter Club logo

libcat's Introduction

libcat

libcat - a simple librarians catalogue with allegro-style input for kittens (POW!), initially developed for:

Bibliotheksverbund Trier-Klausen-Kues /(bvtkk)

interface: first version

Todo

user-interface-related

  • 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
  • GVK import by identifier (PPN)
  • user authentification
  • pretty print catalogue card

DB-related

  • 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?

About

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 Started

Getting up and running is as easy as 1, 2, 3.

  1. Install Elasticsearch and run it as a service. (5.6!)

  2. Make sure you have NodeJS and npm installed.

  3. Install your dependencies

    cd path/to/bvtkk-app; npm install
    
  4. Start your app

    npm start
    

Testing

Simply run npm test and all your tests in the test/ directory will be run.

No tests as of now.

Scaffolding

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

Help

For more information on all the things you can do with Feathers visit docs.feathersjs.com.

Changelog

0.1.0

  • Initial release

License

Copyright (c) 2016

Licensed under the MIT license.

libcat's People

Contributors

salamynder avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.