Skip to content
Snippets Groups Projects
Commit aebe1cce authored by Alexandre Eberhardt's avatar Alexandre Eberhardt
Browse files

Doc: Fix and complete the README.md

Add undocumented routes, fix instalation and clean md format

Change-Id: I79eb0518995cf27553eb810955b3b8b73341aa2b
parent 6da05175
Branches
No related tags found
No related merge requests found
# Plugins Store # Plugins Store
The idea is to provide the user a quick way to discover and install plugins via the plugin store. The idea is to provide the user a quick way to discover and install plugins via the plugin store.
This server run to serve plugins.jami.net, the API is the same.
## Prerequisites ## Prerequisites
+ npm + npm
+ Node.js 18.16+ + Node.js 18.16+
+ Docker + Docker
+ ts-node
## Installation of Node.js 18.16 ## Installation of Node.js 18.16
how to install Node.js 18.16 with nvm how to install nvm
`$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash`
`$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash` ```bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
```
`$ export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"\n[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm` ```bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
```
`$ command -v nvm` ```bash
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
```
```bash
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
```
verify with
```bash
command -v nvm
```
how to install Node.js 18.16 with nvm how to install Node.js 18.16 with nvm
`$ nvm install 18.16.0` ```bash
nvm install 18.16.0
```
# Installation of ts-node
```bash
sudo apt install ts-node
```
# installation of dotenv and typedi
```bash
npm install dotenv typedi
```
# Scripts # Scripts
run the server run the server
`$ npm start` ```bash
npm start
```
lint lint
`$ npm run lint` ```bash
npm run lint
```
fix the linting fix the linting
`$ npm run fix` ```bash
npm run fix
```
run tests and see code coverage run tests and see code coverage
`$ npm test` ```bash
npm test
```
## Add plugin in development environnement ## Add plugin in development environnement
...@@ -54,16 +89,35 @@ python3 ./build.py --plugin <path-to-plugin> --arch <architecture-target> ...@@ -54,16 +89,35 @@ python3 ./build.py --plugin <path-to-plugin> --arch <architecture-target>
### Get all plugins ### Get all plugins
`$ curl -X GET http://localhost:3000/?arch=desktop` ```bash
curl -X GET http://localhost:3000/?arch=x86_64-linux-gnu
```
### Get a plugin's details ### Get a plugin's details
`$ curl -X GET http://localhost:3000/details/AudioFilter` ```bash
curl -X GET http://localhost:3000/details/GreenScreen?arch=AnyArgWorks # Even an invalid arch works but you need to add the arch parameter to get results
```
### Download a plugin by its id ### Download a plugin by its id
`$ curl -X GET http://localhost:3000/download/WaterMark.jpl` ```bash
curl -X GET http://localhost:3000/download/x86_64-linux-gnu/GreenScreen --output ./GreenScreen.jpl
```
### Get a plugin's version
```bash
curl -X GET http://localhost:3000/versions/GreenScreen?arch=x86_64-linux-gnu
```
### Get a plugin's icon
```bash
curl -X GET http://localhost:3000/icons/GreenScreen?arch=x86_64-linux-gnu
```
### Get a plugin's background
```bash
curl -X GET http://localhost:3000/backgrounds/GreenScreen?arch=x86_64-linux-gnu
```
## Contributing ## Contributing
We have a set of ESLint rules that define clear syntax rules (/.eslintrc.json). You will need the following tools: We have a set of ESLint rules that define clear syntax rules (/.eslintrc.json). You will need the following tools:
...@@ -83,11 +137,14 @@ To install Docker please read this manual: https://docs.docker.com/engine/instal ...@@ -83,11 +137,14 @@ To install Docker please read this manual: https://docs.docker.com/engine/instal
Build a docker image: Build a docker image:
`docker build -t server-image --target server .` ```bash
docker build -t server-image --target server .
```
Run the docker container: Run the docker container:
`docker run -p 3000:3000 -ti server-image` ```bash
docker run -p 3000:3000 -ti server-image
```
To stop the container do CTRL + C in the terminal. To stop the container do CTRL + C in the terminal.
...@@ -96,18 +153,26 @@ To stop the container do CTRL + C in the terminal. ...@@ -96,18 +153,26 @@ To stop the container do CTRL + C in the terminal.
Build the test image: Build the test image:
`docker build -t test-image --target test .` ```bash
docker build -t test-image --target test .
```
Run the test image: Run the test image:
`docker run test-image` ```bash
docker run test-image
```
### To check if the code has been linted correctly in the docker container ### To check if the code has been linted correctly in the docker container
Build the lint image: Build the lint image:
`docker build -t lint-image --target lint .` ```bash
docker build -t lint-image --target lint .
```
Run the lint image: Run the lint image:
`docker run lint-image` ```bash
docker run lint-image
```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment