Inventaire logo

Inventaire

  •  0 ratings
In category: Money & Budgeting & Management

About Inventaire

Collaborative resources mapper project, while yet only focused on exploring books mapping with wikidata and ISBNs.

  •   280  
  •   0  
  •   0  
  •   0  
Github stats:
  •  Commits: 5,350  
  •   370  
  •   24  
  •  Latest commit: N/A  

Deploy this app to Linode with a free $100 credit!

Languages/Platforms/Technologies:
Lincenses:

More about Inventaire

Inventaire

Libre collaborative resource mapper powered by open-knowledge
License Node Code Climate

chat wiki roadmap

inventory-graph

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 the 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 roadmap. In doubt, just use your best guess or come ask on the chat :)

Summary

Installation

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

Dependencies to install manually

  • git, curl (used in some installation scripts), graphicsmagick (used to resize images), inotify-tools (used in API tests scripts):
  • NodeJS (>=10, using the latest LTS is recommended), NVM (allows greater version update flexibility)
  • a CouchDB (>=3.1) instance (on port 5984 for default config)
  • an Elasticsearch (>=7.10) instance (on port 9200 for default config)

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: * Install NodeJS latest LTS via NVM * Install CouchDB * Install ElasticSearch

Alternatively, CouchDB and Elasticsearch could be run in Docker: * Install docker and docker-compose * Get the docker-compose.yml:

wget https://raw.githubusercontent.com/inventaire/docker-inventaire/master/docker-compose.yml
* Run couchdb and elasticsearch services in the background:
docker-compose up -d couchdb elasticsearch

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

This should have installed: - the server (this git repository) in the current directory - the client (inventaire-client) in the client directory - i18n strings (inventaire-i18n) in the inventaire-i18n directory

server

The installation step above should have triggered the creation of a ./config/local.js file, in which you can override all present in ./config/default.js: 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: * Get some username and password at https://ethereal.email/create and set the following values in config: mailer.nodemailer.user and mailer.nodemailer.pass. * Make an action that triggers the email you would like to work on on the local server (ex: send a friend request) * Open https://ethereal.email/messages to see the generated email

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

  • To use executable that are used by the project (such as mocha), you can either find them in ./node_modules/.bin or install them globally with npm: npm install -g mocha supervisor lev2 etc.

Repositories and Branches

server

  • master: the stable branch. Unstable work should happen in feature-specific branches and trigger pull requests when ready to be merged in master. See Code Contributor Guidelines.

client

  • master: the stable branch. Unstable work should happen in feature-specific branches and trigger pull requests when ready to be merged in master. See Code Contributor Guidelines.

i18n

the repo tracking strings used in the client and emails in all the supported languages. For helping to translate, see translate.inventaire.io - master: tracking translations fetched from the translation tool and build scripts - dist: same as master but with pre-built files

deploy

tracking installation scripts and documentation to run inventaire in production - master: the main implementation targeting Ubuntu 16.04. Additional branches can be started to document installation on other environments

docker

  • master: tracking docker installation files for development and testing use

Stack Map

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

Concepts map

the app has a few core concepts: - Users - Entities : which can be authors (ex: wd:Q353), books (ex: wd:Q393018) and books' specific editions (ex: isbn:9782070389162). The term entities comes from wikidata terminology. See the entities map. - Items : instances of book entities that a user says they have. It can be an instance of a work or a specific edition of a work. - Transactions : discussion between two users about a specific item with an open transaction mode (giving, lending, selling). Transactions have effects on items: giving and selling an item make it move from the owner to the requester inventory; lending an item shows it as unavailable. - Groups: groups of users with one or more admins

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.

Comments (0)

Please login to join the discussion on this project.

Inventaire Reviews (0)

Overall Rating

None

based on 0 ratings

Please login to review this project.

No reviews for this project yet.

↑ back to top

Linux VPS from $11/yr.
RackNerd VPS for $11.38/mo

Popular Projects

FluxBB

in Social Networks and Forums
 29k    0    0    0  

Nextcloud

in File Transfer & Synchronization
 17k    1    1    0  

Libreddit

in Social Networks and Forums
 5k    0    1    0  

CasaOS

in Self-hosting Solutions
 4k    0    0    0  

Audiobookshelf

in Audio Streaming
 3k    0    1    0  

Mediagoblin

in Photo and Video Galleries
 3k    0    0    0  

Dashboard

in Personal Dashboards
 2k    0    0    0  

Most Discussed

Nextcloud

in File Transfer & Synchronization
 17k    1    1    0  

Tube Archivist

in Automation
 2k    0    1    0  

OneDev

in Project Management
 1k    0    0    0  

iodine

in Proxy
 1k    0    0    0  

Alf.io

in Booking and Scheduling
 1k    0    0    0  

sysPass

in Password Managers
 743    0    0    0  

Misskey

in Social Networks and Forums
 2k    0    0    0  
pCloud Lifetime

Top Rated Projects

Gitea

 1 rating
in Project Management

Bagisto

 1 rating
in E-commerce

LinkAce

 1 rating
in Bookmarks and Link Sharing

Pydio

 1 rating
in File Transfer & Synchronization

Audiobookshelf

 1 rating
in Audio Streaming

Nextcloud

 1 rating
in File Transfer & Synchronization

Seafile

 1 rating
in File Transfer & Synchronization

Categories

You May Also Be Interested In

Akaunting logo
Akaunting cover

Akaunting

Akaunting is a free, online and open source accounting soft…

Economizzer logo
Economizzer cover

Economizzer

An easy and secure system for you to manage your personal m…

Inventree logo
Inventree cover

Inventree

InvenTree is an open-source inventory management system whi…