Home

Awesome

Inventaire

Libre collaborative resource mapper powered by open-knowledge<br> License Node Code Climate<br> <br> chat wiki

inventory screenshot

This repository hosts Inventaire.io source code. Its a collaborative resources mapper project, while yet only focused on exploring books mapping with wikidata and ISBNs

This repository tracks server-side developments, while the (heavy) client-side can be found here. Client-related technical issues should go in the client repo, while this repo gathers all other technical issues. Non-technical discussions, such as feature requests, should preferably happen in the chat.

Summary

<!-- START doctoc generated TOC please keep comment here to allow auto update --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> <!-- END doctoc generated TOC please keep comment here to allow auto update -->

Installation

This is the installation documentation for a developement environment. For production setup, see: inventaire-deploy

Dependencies to install manually

To install all this those dependencies on Ubuntu 20.04:

For packages available in Ubuntu default repositories:

sudo apt-get update
sudo apt-get install git curl wget graphicsmagick inotify-tools

For packages that need a more elaborated installation, see their own documentation:

Alternatively, CouchDB and Elasticsearch could be run in Docker, see docker-inventaire

Whatever the way you installed CouchDB and Elasticsearch, you should now be able to get a response from them:

# Verify that CouchDB is up
curl http://localhost:5984
# Verify that Elasticsearch is up
curl http://localhost:9200

Project development environment installation

git clone https://github.com/inventaire/inventaire.git
cd inventaire
npm install --global tsx
npm install

This should have installed:

server

The installation step above should have triggered the creation of a ./config/local.cjs file, in which you can override all present in ./config/default.cjs: make sure to set db username and password to your CouchDB username and password.

And now you should be all set! You can now start the server (on port 3006 by default)

# Starting the server in watch mode so that it reboots on file changes
npm run watch
emails

To debug emails in the browser:

Note that, while convenient, debugging emails in the browser is quite an approximation, as some email clients are antiquated, and, sadly, modern CSS can't be used.

client

If you want to work on the client, you need to start the webpack watcher and dev server (on port 3005 by default)

# In another terminal
cd inventaire/client
npm run watch

Installation tips

Repositories and Branches

server

client

i18n

The repository tracking strings used in the server (for emails, activitypub) and client (for the web UI) in all the supported languages. For helping to translate, see the Inventaire Weblate project

deploy

tracking installation scripts and documentation to run inventaire in production

docker

Stack Map

This repository correspond to the the "Server" section in the stack map

Concepts map

the app has a few core concepts:

concepts map

entities map

Contribute

For code-related contributions, see How to contribute on wiki.inventaire.io.

Documentation

see docs

Wiki

see wiki.inventaire.io You may want to directly go to the technical wiki page

API

see wiki: API

Administration

see Administration

License

Inventaire is an open-sourced project licensed under AGPLv3.