diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index cf8821fbf9..67c0ce5056 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -2,7 +2,7 @@ name: Bug report about: Create a report to help us improve title: "[Bug]:" -labels: '' +labels: bug assignees: '' --- diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index aafa701581..bfd698f44a 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -2,7 +2,7 @@ name: Feature request about: Request a feature or submit an idea title: "[Feature Request]:" -labels: '' +labels: feature assignees: '' --- diff --git a/.github/redisinsight_browser.png b/.github/redisinsight_browser.png new file mode 100644 index 0000000000..96b9348d4a Binary files /dev/null and b/.github/redisinsight_browser.png differ diff --git a/README.md b/README.md index 5ea4879156..70305877ce 100644 --- a/README.md +++ b/README.md @@ -1,233 +1,66 @@ -# RedisInsight - [![CircleCI](https://circleci.com/gh/RedisInsight/RedisInsight/tree/latest.svg?style=svg)](https://circleci.com/gh/RedisInsight/RedisInsight/tree/latest) +[![Forum](https://img.shields.io/badge/Forum-RedisInsight-red)](https://forum.redis.com/c/redisinsight/65) +[![Discord](https://img.shields.io/discord/697882427875393627?style=flat-square)](https://discord.gg/QUkjSsk) -Awesome Redis GUI written in Electron, NodeJS and React - -## Directory Structure - -- `redisinsight/ui` - Contains the frontend code -- `redisinsight/api` - Contains the backend code -- `docs` - Contains the documentation -- `scripts` - Build scripts and other build-related files -- `configs` - Webpack configuration files and other build-related files -- `tests` - Contains the e2e - -## Plugins documentation - -* [Introduction](docs/plugins/introduction.md) -* [Installation and Usage](docs/plugins/installation.md) -* [Plugin Development](docs/plugins/development.md) - -## Prerequisites - -Make sure you have installed following packages: -* [Node](https://nodejs.org/en/download/) >=14.x and <16 -* [yarn](https://www.npmjs.com/package/yarn) >=1.21.3 - -## Installation - -Before development or build you have to install required dependencies - -```bash -$ yarn install -$ yarn --cwd redisinsight/api/ -``` - -## Development - -There are 2 ways to develop: - -### Developing using electron app - -After you have installed all dependencies you can now run the app. -Run `yarn start` to start an electron application that will watch and build for you. - -```bash -# Development -$ yarn start -``` - -### Developing using web - -#### Running backend part of the app - -Run `yarn --cwd redisinsight/api/ start:dev` to start a local API at `localhost:5000`. - -```bash -# Development -$ yarn --cwd redisinsight/api/ start:dev -``` - -While the API is running, open your browser and navigate to http://localhost:5000/api/docs. You should see the Swagger UI. - -#### Running frontend part of the app - -Run `yarn start:web` to start a local server for UI. - -```bash -# Development -$ yarn start:web -``` - -Web interface will be available at http://localhost:8080 - -Now servers will watch for changes and automatically build for you - -## Build - -### Packaging the desktop app - -#### Building statics for enablement area and default plugins - -Run `yarn build:statics` or `yarn build:statics:win` for Windows - -After you have installed all dependencies you can package the app. -Run `yarn package:prod` to package app for the local platform: - -```bash -# Production -$ yarn package:prod -``` - -And packaged installer will be in the folder _./release_ - -### Create docker image - -There are 2 different docker images available - -- Image with API and UI -- Image with API only - -#### Build Docker image with UI - -```bash - docker build . -``` - -Image exposes 5000 port - -Api docs - /api/docs - -Main UI - / - -Example: - -```bash - docker build -t redisinsight . -``` - -```bash - docker run -p 5000:5000 -d --cap-add ipc_lock redisinsight -``` - -Then api docs and main ui should be available on http://localhost:5000/api/docs and http://localhost:5000 - -#### Build Docker with API only - -Image exposes 5000 port - -Api docs - /api/docs - -Example: - -```bash - docker build -f api.Dockerfile -t api.redisinsight . -``` - -```bash - docker run -p 5000:5000 -d --cap-add ipc_lock api.redisinsight -``` - -Then api docs and main ui should be available on http://localhost:5000/api/docs - -## Tests +# logo RedisInsight -### Running frontend tests +**Best in class Redis developer GUI to view and interact with your data! [Download it from here](https://redis.com/redis-enterprise/redis-insight/#insight-form)!** -#### Run UI unit tests +![RedisInsight Browser screenshot](/.github/redisinsight_browser.png) -```bash - yarn test -``` +Built with love using [Electron](https://www.electronjs.org/), [Elastic UI](https://elastic.github.io/eui/#/), [Monaco Editor](https://microsoft.github.io/monaco-editor/) and NodeJS. -### Running backend tests +## Overview -#### Run backend unit tests +RedisInsight is an intuitive and efficient GUI for Redis, allowing you to interact with your databases and manage your data—with built-in support for Redis modules. -```bash - # Plain tests - yarn --cwd redisinsight/api test - - # Tests with coverage - yarn --cwd redisinsight/api test:cov -``` +### RedisInsight Highlights: -### Run backend integration tests (using local server) +* Browse, filter and visualise your key-value Redis data structures +* CRUD support for Lists, Hashes, Strings, Sets, Sorted Sets +* CRUD support for [RedisJSON](https://oss.redis.com/redisjson/) +* Introducing Workbench - advanced command line interface with intelligent command auto-complete and complex data visualizations +* Command auto-complete support for [RediSearch](https://oss.redis.com/redisearch/), [RedisJSON](https://oss.redis.com/redisjson/), [RedisGraph](https://oss.redis.com/redisgraph/), [RedisTimeSeries](https://oss.redis.com/redistimeseries/), [RedisAI](https://oss.redis.com/redisai/) +* Visualizations of your [RediSearch](https://oss.redis.com/redisearch/) index queries and aggregations +* Ability to build your own data visualization plugins +* Built-in click-through guides for Redis capabilities +* Oficially supported for Redis OSS, [Redis Cloud](https://redis.com/try-free/). Works with Microsoft Azure Cache for Redis (official support upcoming). +* Available for macOS, Windows and Linux -```bash - # Plain tests - yarn --cwd redisinsight/api test:api - - # Tests with coverage - yarn --cwd redisinsight/api test:api:cov -``` +Check out the [release notes](https://docs.redis.com/staging/release-ri-v2.0/ri/release-notes/). -> **_NOTE_**: Using `yarn test:api*` scripts you should have redis server up and running. -By default tests will look on `localhost:6379` without any auth -To customize tests configs you should run test with proper environment variables +## Get started with RedisInsight -Example: +This repository includes the code for the newly released in public preview RedisInsight 2.0. Check out the [blogpost](https://redis.com/blog/introducing-redisinsight-2/) announcing it. -If you have redis server running on a different host or port `somehost:7777` with default user pass `somepass` +The current GA version of RedisInsight is 1.11. You can install RedisInsight 2.0 along with the GA version. -You should run test commands with such environment variables +### Installable +Available to download for free from [here](https://redis.com/redis-enterprise/redis-insight/#insight-form). -```bash - # Plain tests - TEST_REDIS_HOST=somehost \ - TEST_REDIS_PORT=7777 \ - TEST_REDIS_PASSWORD-somepass \ - yarn --cwd redisinsight/api test:api -``` +### Build +Alternatively you can also build from source. See our wiki for instructions. -You can find all possible environment variable available in the [constants.ts](redisinsight/api/test/helpers/constants.ts) file +## Feedback -### Run backend integration tests (using docker) +* Request a new [feature](https://github.com/RedisInsight/RedisInsight/issues/new?assignees=&labels=&template=feature_request.md&title=%5BFeature+Request%5D%3A) +* Upvote [popular feature requests](https://github.com/RedisInsight/RedisInsight/issues?q=is%3Aopen+is%3Aissue+label%3Afeature+sort%3Areactions-%2B1-desc) +* File a [bug](https://github.com/RedisInsight/RedisInsight/issues/new?assignees=&labels=&template=bug_report.md&title=%5BBug%5D%3A) -Here you should not care about tests and local redis database configuration -We will spin up server inside docker container and run tests over it +## RedisInsight Plugins -```bash - # run this this command - ./redisinsight/api/test/test-runs/start-test-run.sh -r oss-st-6 -``` -- -r - is the Redis Test Environment name +With RedisInsight you can now also extend the core functionality by building your own data visualizations. See our wiki for more information. -We are supporting several test environments to run tests on various Redis databases: -- **oss-st-5** - _OSS Standalone v5_ -- **oss-st-5-pass** - _OSS Standalone v5 with admin pass required_ -- **oss-st-6** - _OSS Standalone v6 and all modules_ -- **oss-st-6-tls** - _OSS Standalone v6 with TLS enabled_ -- **oss-st-6-tls-auth** - _OSS Standalone v6 with TLS auth required_ -- **oss-clu** - _OSS Cluster_ -- **oss-clu-tls** - _OSS Cluster with TLS enabled_ -- **oss-sent** - _OSS Sentinel_ -- **re-st** - _Redis Enterprise with Standalone inside_ -- **re-clu** - _Redis Enterprise with Cluster inside_ +## Contributing +If you would like to contribute to the code base or fix and issue, please consult the wiki. -### Running E2E tests +## Telemetry -Install E2E tests deps +RedisInsight includes an opt-in telemetry system, that is leveraged to help improve the developer experience (DX) within the app. We value your privacy, so stay assured, that all the data collected is anonymised. -```bash - yarn --cwd tests/e2e -``` +## License -Run E2E tests +RedisInsight is licensed under [SSPL](/LICENSE) license. -```bash - yarn --cwd tests/e2e test:chrome -```