Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/janikvonrotz/labtrail
QR-code manager with multi-tenant support.
https://github.com/janikvonrotz/labtrail
Last synced: about 2 months ago
JSON representation
QR-code manager with multi-tenant support.
- Host: GitHub
- URL: https://github.com/janikvonrotz/labtrail
- Owner: janikvonrotz
- License: gpl-3.0
- Created: 2019-10-04T10:46:40.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-05T01:28:38.000Z (about 2 years ago)
- Last Synced: 2024-11-11T22:35:27.825Z (about 2 months ago)
- Language: JavaScript
- Homepage: https://labtrail.app
- Size: 12.9 MB
- Stars: 2
- Watchers: 3
- Forks: 2
- Open Issues: 51
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# LabTrail
![](https://github.com/janikvonrotz/labtrail/workflows/Node%20CI/badge.svg)
QR-code manager with multi-tenant support.
This project is sponsored by the [bioprocess technology division of the ZHAW](https://www.zhaw.ch/en/lsfm/institutes-centres/icbt/biocatalysis-and-process-technology/).
LabTrail is the central platform to manage the destinations of QR-Codes. Register new QR-Codes and define multiple link targets. Manage users and assign them to tenants. Switch easily between tenants and their active QR-Code category.
## Demo
Open [https://labtrail.app/](https://labtrail.app/) in your browser and login with username `[email protected]` and password `demo`.
## Configuration
### Database
For search performance text indexes are required on every mongodb collection. Index the following fields:
```txt
categories.name
documents.title
tenants.name
stations.name
user.firstname
user.lastname
user.email
```### Environment Variables
**.env**
```bash
MONGODB_URI=mongodb://USERNAME:PASSWORD@URL:PORT/DATABASENAME
JWT_SECRET=SECRET_KEY
# Docker deployment:
API_VERSION=X.X.X
APP_VERSION=X.X.X
QR_VERSION=X.X.X
REGISTRY=URI
```Checkout each packagefolder for environment variable definitions.
## Development
Install package dependencies with yarn workspace.
`yarn`
Run the development server.
`yarn dev`
### Package
Every package can be developed standalone.
Configure the package environment variables and start the development server.
`yarn dev`
### Testing
Run the linter first.
`yarn lint`
Configure the package environment variables and then run the tests.
`yarn test`
## Deployment
### Serverless
Configure the environment variables and deploy with [now](https://zeit.co/now).
`now`
### Docker
Configure the environment variables for docker and build the images.
```
yarn docker-build-api
yarn docker-build-app
yarn docker-build-qr
```Run docker compose to test.
`yarn docker-compose`
Tag images.
```
yarn docker-tag-api
yarn docker-tag-app
yarn docker-tag-qr
```Publish images to registry.
```
yarn docker-publish-api
yarn docker-publish-app
yarn docker-publish-qr
```Pull images from registry.
```
yarn docker-pull-api
yarn docker-pull-app
yarn docker-pull-qr
```