evitaLab is the official web-based GUI client for evitaDB e-commerce database. Visit demo.evitadb.io for the live demo.
evitaLab aims to provide a user-friendly client for evitaDB database to easily browse and modify data stored in the database.
You can try out evitaLab with evitaDB demo dataset at demo.evitadb.io.
evitaLab allows you to:
- ✅ inspect schemas
- ✅ browse entities in interactive table
- ✅ execute GraphQL queries
- ✅ execute evitaQL queries
- ✅ visualise extra results
- ✅ share tabs between developers
- ✅ manage connections to multiple evitaDB instances
- ✅ manage server (status, tasks, JFR recordings)
- ✅ manage catalogs and collections
- ✅ analyze server traffic
However, evitaLab is still in active development and more features are planned.
To run evitaLab locally, you can use either of the following ways.
If you are looking for full local development experience, checkout the evitaLab Desktop application instead. The desktop app builds on top of this evitaLab core and add proper server connection management as well as other useful features:
- ✅ connect to any server version in one app
- ✅ receive evitaLab core updates as soon as they are released without waiting for server update
- ✅ each connection stores its own tabs and history, even if each connection points to same server URL
- this is useful when you are using port forwarding for different server environments (prod, test, local) where local port is the same for each environment
- ✅ connections styling for better distinction between servers and environments
- ✅ global notification system - displays toast notifications from desktop app and connections in one place
- this way you can see notifications from all connections all the time
If you don't want to install full desktop application, and you have evitaDB server running, the easiest and quickest way to run evitaLab locally is to enable it inside your configuration of evitaDB. By default, evitaDB will automatically expose its own local evitaLab instance on the localhost:5555/lab address. For more configuration, see evitaDB documentation.
If you want to run evitaLab manually, you can download the latest release from releases page
and use any static web server to serve the files from dist-standalone
directory.
For example, you can use nginx
This way you can host your own instance of evitaLab, for example, for your internal evitaDB server.
If you want to run a development version of the evitaLab, you can clone this repository.
Before you start, make sure you have Node.js in version specified in .nvmrc
and Yarn
package manager installed.
Then you can run it either in standalone mode:
yarn install
yarn dev
this will start a development server on localhost:3000/lab address.
Or the driver mode (for evitaLab Desktop):
yarn install
yarn dev-driver
this will start a development server on localhost:3000 address.
If you would like to contribute to evitaLab source code or just simply play with it locally, you just need to
clone the project, install the Node.js in version specified in .nvmrc
and Yarn (as that's what we use for development)
and run the following commands to run the evitaLab locally:
# running using yarn
yarn install
yarn dev
You can find more indepth info about internal structure and guidelines of evitaLab in developer documentation.
Any contributions are welcome and appreciated. If you would like to contribute to evitaLab, feel free to open an issue and submit a pull request.