https://github.com/smile-sa/palindrome.js
3D visual probe for 3D monitoring and Digital Twinning
https://github.com/smile-sa/palindrome.js
3d 3d-monitoring computer-vision digital-twin javascript machine-learning monitoring palindrome palindrome-js visualization
Last synced: 2 months ago
JSON representation
3D visual probe for 3D monitoring and Digital Twinning
- Host: GitHub
- URL: https://github.com/smile-sa/palindrome.js
- Owner: Smile-SA
- License: other
- Created: 2021-02-04T17:49:54.000Z (over 4 years ago)
- Default Branch: dev
- Last Pushed: 2025-02-11T12:45:49.000Z (8 months ago)
- Last Synced: 2025-07-21T00:09:18.967Z (3 months ago)
- Topics: 3d, 3d-monitoring, computer-vision, digital-twin, javascript, machine-learning, monitoring, palindrome, palindrome-js, visualization
- Language: JavaScript
- Homepage: https://smile-sa.github.io/palindrome.js/
- Size: 72.1 MB
- Stars: 30
- Watchers: 6
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README
# Palindrome.js

> ***A palindrome is a word, number, phrase, or other sequence of characters which reads the same backward as forward,
such as madam, racecar. There are also numeric palindromes, including date/time stamps using short digits 11/11/11 11:11
and long digits 02/02/2020.***```Palindrome.js``` is a ```three.js``` based library which provides 3D monitoring for system metrics and KPIs.
Presented as metrics sets within layers, ```Palindrome.js``` helps to easily identify relations between metrics,
indicators, behaviors or trends for your realtime systems or any other data source. Custom algorithms, visual behaviors,
styles and color schemes can easily be modified or added._**```Palindrome.js``` is still considered as an experimental / beta prototype, be aware API can change at any moment.
Feedbacks are more than welcome !**_
![]()
## Motivation
The idea behind this project is to go one step further current monitoring and dashboards solutions, by enabling a scalable
and user oriented, 3D monitoring probe for multi-dimensional and heterogeneous sets of data points. Compatible use cases
are various, from comparing system metrics with external indicators, to stacking up multi-tenancy informations groups
for measuring differences or similarities, ```Palindrome.js``` can both be used as a live UI component for a larger BI
dashboard, or as the signal source for a computer-vision based workflow.## Requirements
- Node.js version 20 or later
Node.js version can be updated by executing the following commands:
```bash
sudo apt remove nodejs
sudo apt remove nodejs-doc
curl -sL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install nodejs
```
**Note:** An already built version of Palindrome.js is ready to be integrated without any Node.js setup, two files can be found inside the `/artifacts` folder: `palindrome.dev.js`, which includes a sidebar, and `palindrome.js`, which represents the basic version of Palindrome.js without a sidebar. The [documentation](../../wikis/Single-file-distribution) should be followed for more integration details.
## SetupThis project uses ```three.js``` as its 3D renderer, ```yarn``` as the dependency manager, ```Storybook``` for
functional testing and ```parcel-bundler``` as the stand-alone packager.First install the project dependencies :
```
yarn install
```You can configure your remote data use cases by following the documentation [here](../../wikis/Remote-Data-Integration-(Time-Series-Databases-and-External-APIs)).
## Default HTML
Then, run the default html session for an interactive session :
```
yarn dev
```
## Storybook
Alternatively, you can run storybook :
```
yarn storybook
```
## Docker
Palindrome.js can also be run in Docker.
You can optionally start the TSDB servers, as outlined in the [documentation](../../wikis/Remote-Data-Integration-(Time-Series-Databases-and-External-APIs)#quick-setup).
Then, launch Palindrome.js by running:
```
docker compose up
```## Documentation
Click [here](../../wikis/home) to visit our wiki page containing the documentation with all the implementation details.
## Demo Environments
You can explore the following demo environments:
- [Dev Environment](https://smile-sa.github.io/palindrome.js)
- [Storybook Environment](https://smile-sa.github.io/palindrome.js/storybook)## Contribute
Simply open a pull request over the repository to describe your changes.
## Credits
- Mohamed Ali Yacoubi @yacoubii
- JonRiv (author) @JonRiv
- Rnd Team @ SMILE## License
Licensed under the Apache 2.0 license