https://github.com/Inist-CNRS/lodex
Raw File
Tip revision: 06739158a0fcd8554486f36953b652bc89358563 authored by Nicolas Thouvenin on 23 July 2021, 09:08:58 UTC
12.2.0
Tip revision: 0673915
README.md
# [Lodex](http://lodex.inist.fr) · [![Build Status](https://travis-ci.org/Inist-CNRS/lodex.svg?branch=master)](https://travis-ci.org/Inist-CNRS/lodex) [![bitHound Overall Score](https://cdn.rawgit.com/aleen42/badges/master/src/gitbook_1.svg)](https://lodex.gitbooks.io/lodex-user-documentation) [![Licence](https://img.shields.io/badge/licence-CeCILL%202.1-yellow.svg)](http://www.cecill.info)

<img src="https://user-images.githubusercontent.com/7420853/30152932-1794db3c-93b5-11e7-98ab-a7f28d0061cb.png" width=150 align=right>

Lodex is a tool to enable publishing a set of data `csv`, `tsv`, `xml`, `json`, ... in semantic web formats `JSON-LD`, `N-Quads`, ... and propose to manipulate them in a backoffice.

To see what Lodex can do, check out <https://data.istex.fr/> or the user documentation at <https://lodex.gitbook.io/lodex-user-documentation/>

![preview](https://docs.google.com/drawings/d/e/2PACX-1vQA8ze2ktkRLXZB9sNWkft0cUpf_jOJbTfQA7AtzvwsRfswBCuiWwEsI3kvHzAzmZNhz4CxcePQ02cA/pub?w=904&h=581)

## Install

You need to set the EZMASTER_PUBLIC_URL environment variable based on your machine, default to `http://localhost:3000`

### with docker

_prerequisites_ : docker-compose

```bash
make start
```

### with npm

_prerequisites_ : mongo, node 8

```bash
npm install
npm run build
EZMASTER_MONGODB_HOST_PORT=localhost:27017 NODE_ENV=production npm start
```

NB : MongoDB should be started and listening on port 27017 (use e.g. `make
mongo` to launch mongo).

## Usage

To see what Lodex can do, check out

- Data and Model ready to use : <https://github.com/Inist-CNRS/lodex-use-cases>
- Videos : <https://www.youtube.com/channel/UCXJjwCr-sfTZsFomFejEkEw/videos>
- Real life example :
  - <https://data.istex.fr/>
- Démo :
  - <http://lodex-cop21.dpi.inist.fr/>
  - <http://lodex-istex.dpi.inist.fr/>
- user documentation : <https://user-doc.lodex.inist.fr/>
- actuality & news : <http://lodex.inist.fr/>
- Twitter : <https://twitter.com/Lodex_Platform>
- Contribute (for developer) : <https://github.com/Inist-CNRS/lodex/wiki>
- Contact email: contact@listes.lodex.fr
- Mailing list about LODEX usage: users@listes.lodex.fr (subscribe on [listes.lodex.fr](https://listes.lodex.fr/sympa/info/users))

## Development

_prerequisites_ : docker, docker-compose

To enable hot-reload server for frontend, and nodemon for backend :

```bash
make install
make run-dev
```

Once the project is started, you can acces it using `admin` / `secret` credentials on `http://localhost:3000/`.

## Testing

Lodex is well tested through numerous **unit tests** and some **E2E tests** to ensure the most common scenarios.

_prerequisites_: Have installed the dependencies, see the [Install](#install) part of this README.

```bash
make test-frontend-unit
make test-api-unit
make test-e2e

make test # Run all of the above tests
```

Be aware that the E2E tests (`make test-e2e`) can take several minutes to run. It requires to have a fresh production build.

For some reasons, if you want to temporaly disable E2E tests, you can launch them with the following environment variable:

```bash
DISABLE_E2E_TESTS=true make test
```

You can also [define this environment variable on Travis](https://docs.travis-ci.com/user/environment-variables/), for a specific build or the whole project.

## Licence

This software is [CeCILL license](https://github.com/Inist-CNRS/lodex/blob/master/LICENSE).
You can  use, modify and/ or redistribute the software under the terms of the CeCILL license.

We also use the following icons :

Big data by Eliricon from the Noun Project
bubble chart by Kirby Wu from the Noun Project
diagram by TheFit Project from the Noun Project
Heat Map by Sophia Bai from the Noun Project
Pie Chart by Gregor Cresnar from the Noun Project
Radar Chart by Agus Purwanto from the Noun Project
statistics by Creative Stall from the Noun Project
Add table by Danil Polshin from the Noun Project

Thanks to the noun project and their respective creators
back to top