Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
7650301
added neo4j+s as default protocol and tested it and it works!
AleSim94 Sep 26, 2024
601c95f
2.4.9 Release (#973)
nielsdejong Nov 14, 2024
a65a974
Hotfix: Remove Husky prepare step in package.json
bastienhubert Nov 14, 2024
86058df
Merge pull request #987 from neo4j-labs/hotfix-husky
alfredorubin96 Nov 14, 2024
8a51ecf
fixing dark mode
alfredorubin96 Nov 22, 2024
0b103c5
Patch FAQ supportability
nielsdejong Nov 25, 2024
568a155
adding new logos
alfredorubin96 Nov 27, 2024
cab7795
Fix value.low existence check when value is not an Object
Nov 28, 2024
c860176
fixing strange param behaviour with sso
alfredorubin96 Nov 29, 2024
1642bb9
fixing params for SSo
alfredorubin96 Dec 2, 2024
563a1d6
removing useless logging
alfredorubin96 Dec 2, 2024
9290c29
Removed the introduced autoPageSize flag because it will default to 0…
hlin-neo4j Dec 11, 2024
979c38d
Fixed booleans for parameter select (#953)
hlin-neo4j Jan 2, 2025
41b445d
Show OpenStreeMap leaflet
Jan 28, 2025
872b3be
Remove leaflet-custom-tooltip empty rule
Jan 28, 2025
8147242
Add custom equality check function for Rule Based Styling
Jan 28, 2025
3f351e6
Use isLooselyEqual to verify "!=" conditions in rule based styling
Feb 3, 2025
bfc8bd5
Merge pull request #1029 from neo4j-labs/fix/930-rule-based-styling-w…
alfredorubin96 Feb 10, 2025
1241c7a
Merge pull request #1028 from neo4j-labs/fix/show-openstreetmap-leaflet
alfredorubin96 Feb 10, 2025
1fe567a
Merge pull request #1020 from hlin-neo4j/953-boolean-param-select
alfredorubin96 Feb 10, 2025
e9ef075
Merge pull request #999 from neo4j-labs/fix/dark-mode-table
alfredorubin96 Feb 10, 2025
ad6644a
Merge pull request #1002 from neo4j-labs/patch-faq-supportability
alfredorubin96 Feb 10, 2025
32828f2
Merge pull request #1005 from neo4j-labs/feat/new-logo
alfredorubin96 Feb 10, 2025
eddc9ba
Merge pull request #1008 from neo4j-labs/fix/951-download-csv
alfredorubin96 Feb 10, 2025
7fea3eb
Merge pull request #1014 from hlin-neo4j/fix/992-autopagesize
alfredorubin96 Feb 10, 2025
f3ae774
Merge pull request #1009 from neo4j-labs/fix/sso-standalone-params
alfredorubin96 Feb 10, 2025
17b9288
fixing tests according to new feature
alfredorubin96 Feb 10, 2025
b470ec5
merging w/ dev and fixing tests
alfredorubin96 Feb 10, 2025
a752a30
changing pagination process
alfredorubin96 Feb 10, 2025
8f560ef
Merge pull request #956 from neo4j-labs/feature/default_protocol_change
alfredorubin96 Feb 11, 2025
39bf389
Fix Table rule based styling by applying the first valid rule
Feb 11, 2025
ff4f12f
Fix evaluateSingleRuleOnDict() function in order to avoid always retu…
Feb 11, 2025
b89c22d
Fix Line chart rule based styling and applying the first matching rul…
Feb 13, 2025
543ad9c
Use correct index for Bar Chart default color selection
Feb 14, 2025
8669f3b
Merge pull request #1038 from neo4j-labs/fix/1037-line-rule-based-sty…
alfredorubin96 Feb 18, 2025
7a249d2
Merge branch 'develop' into fix/default-color-scheme-bar-chart
alfredorubin96 Feb 18, 2025
b3f3299
Merge pull request #1039 from neo4j-labs/fix/default-color-scheme-bar…
alfredorubin96 Feb 18, 2025
2904451
changing version number (#1040)
alfredorubin96 Feb 18, 2025
cdad07c
merging with dev
alfredorubin96 Feb 18, 2025
3a599d2
Merge branch 'master' into develop
alfredorubin96 Feb 18, 2025
92b1623
removing duplicated banner in docs
alfredorubin96 Feb 18, 2025
83757bb
Update publishing.adoc (#1045)
rsill-neo4j Feb 26, 2025
801f2a0
Fix navigate to page for deep links (#1057)
jwllms Jul 28, 2025
13e1647
Added deprecation notice for demo environments (#1059)
nielsdejong Aug 4, 2025
74938bb
Merge branch '2.4' into develop
nielsdejong Aug 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/workflows/master-deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ jobs:
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-west-1
- run: curl ${{ secrets.INDEX_HTML_DEPLOYMENT_URL }} > dist/index.html
- run: curl https://gist.githubusercontent.com/nielsdejong/944d8f8f30dd2719f9b275e31df22f92/raw/f363cf5280eb5095e12e56a278f6616b6220adcf/config.json > dist/config.json
- run: aws s3 rm s3://neodash.graphapp.io/ --recursive && aws s3 sync dist s3://neodash.graphapp.io/ --acl public-read
build-docker:
needs: build-test
Expand All @@ -79,7 +80,7 @@ jobs:
context: .
file: ./Dockerfile
push: true
tags: ${{ secrets.DOCKER_HUB_LABS_USERNAME }}/neodash:latest,${{ secrets.DOCKER_HUB_LABS_USERNAME }}/neodash:2.4.9
tags: ${{ secrets.DOCKER_HUB_LABS_USERNAME }}/neodash:latest,${{ secrets.DOCKER_HUB_LABS_USERNAME }}/neodash:2.4.11
build-docker-legacy:
needs: build-test
runs-on: neodash-runners
Expand All @@ -103,7 +104,7 @@ jobs:
context: .
file: ./Dockerfile
push: true
tags: ${{ secrets.DOCKER_HUB_USERNAME }}/neodash:latest,${{ secrets.DOCKER_HUB_USERNAME }}/neodash:2.4.9
tags: ${{ secrets.DOCKER_HUB_USERNAME }}/neodash:latest,${{ secrets.DOCKER_HUB_USERNAME }}/neodash:2.4.11
deploy-gallery:
runs-on: neodash-runners
strategy:
Expand Down Expand Up @@ -149,6 +150,7 @@ jobs:
- run: rm -rf docs
- run: yarn install
- run: PRODUCTION=true && yarn run build-minimal
- run: curl https://gist.githubusercontent.com/nielsdejong/944d8f8f30dd2719f9b275e31df22f92/raw/f363cf5280eb5095e12e56a278f6616b6220adcf/config.json > dist/config.json
- run: curl ${{ secrets.INDEX_HTML_DEPLOYMENT_URL }} > dist/index.html
- run: npm pack
- run: rm -rf target
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,4 @@ USER nginx
EXPOSE $NGINX_PORT

HEALTHCHECK cmd curl --fail "http://localhost:$NGINX_PORT" || exit 1
LABEL version="2.4.9"
LABEL version="2.4.11"
93 changes: 6 additions & 87 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,90 +1,9 @@
## NeoDash Labs
NeoDash is a dashboard builder for Neo4j, letting you build a graph dashboard in minutes.

## NeoDash Labs - Neo4j Dashboard Builder
**This project will be archived on August 31st, 2025.** If you'd like to continue building dashboards, you can:

![screenshot](evolving.png)
1. [Upgrade](https://console-preview.neo4j.io/tools/dashboards) to Dashboards in the Neo4j Console (free for everyone).
2. If you'd like to keep using NeoDash for free, you can fork this repository and [run NeoDash yourself](https://github.com/neo4j-labs/neodash/blob/master/about.md).
3. If you're in need of a supported version of NeoDash, you can [purchase](https://neo4j.com/docs/neodash-commercial/current/#_getting_access_to_neodash_commercial) a NeoDash commercial license together with a Neo4j Enterprise license.

In September 2024 **Neo4j [announced](https://www.datanami.com/2024/09/04/neo4j-simplifies-graph-database-in-the-cloud/#:~:text=NeoDash%20is%20an%20open%20source,was%20open%20source%2C%20not%20supported) NeoDash is evolving into a fully supported dashboard builder, as part of the Neo4j product suite**.

This project (NeoDash Labs) will still be available and contain experimental features, but will **not** have official support. If you're interested to get official support for NeoDash as part of a Neo4j License agreement, please reach out to your Neo4j contact person.

## About NeoDash Labs
NeoDash is a web-based tool for visualizing your Neo4j data. It lets you group visualizations together as dashboards, and allow for interactions between reports.

Neodash supports presenting your data as tables, graphs, bar charts, line charts, maps and more. It contains a Cypher editor to directly write the Cypher queries that populate the reports. You can save dashboards to your database, and share them with others.

## Try NeoDash Labs
You can run NeoDash in one of three ways:

1. You can install NeoDash Labs into Neo4j Desktop from the [graph app gallery](https://install.graphapp.io). NeoDash will automatically connect to your active database.
> Note: never versions of Neo4j Desktop do not support adding experimental graph apps such as NeoDash.

2. You can run NeoDash Labs from a web browser by visiting http://neodash.graphapp.io.
3. For on-prem deployments, you can build the application yourself, or pull the latest Docker image from Docker Hub.
```
# Run the application on http://localhost:5005
docker pull neo4jlabs/neodash:latest
docker run -it --rm -p 5005:5005 neo4jlabs/neodash
```

> Windows users may need to prefix the `docker run` command with `winpty`.



## Build and Run
This project uses `yarn` to install, run, build prettify and apply linting to the code.

To install dependencies:
```
yarn install
```

To run the application in development mode:
```
yarn run dev
```

To build the app for deployment:
```
yarn run build
```

To manually prettify all the project `.ts` and `.tsx` files, run:
```
yarn run format
```

To manually run linting of all your .ts and .tsx files, run:
```
yarn run lint
```

To manually run linting of all your .ts and .tsx staged files, run:
```
yarn run lint-staged
```

See the [Developer Guide](https://neo4j.com/labs/neodash/2.3/developer-guide/) for more on installing, building, and running the application.

### Pre-Commit Hook
While commiting, a pre-commit hook will be executed in order to prettify and run the Linter on your staged files. Linter warnings are currently accepted. The commands executed by this hook can be found in /.lintstagedrc.json.

There is also a dedicated linting step in the Github project pipeline in order to catch each potential inconsistency.

> Don't hesitate to setup your IDE formatting feature to use the Prettier module and our defined rules (.prettierrc.json).


## User Guide
NeoDash comes with built-in examples of dashboards and reports. For more details on the types of reports and how to customize them, see the [User Guide](
https://neo4j.com/labs/neodash/2.3/user-guide/).

## Publish Dashboards
After building a dashboard, you can chose to deploy a read-only, standalone instance for users. See [Publishing](https://neo4j.com/labs/neodash/2.3/user-guide/publishing/) for more on publishing dashboards.


## Questions / Suggestions
If you have any questions about NeoDash, please reach out to the maintainers:
- Create an [Issue](https://github.com/neo4j-labs/neodash/issues/new) on GitHub for feature requests/bugs.
- Connect with us on the [Neo4j Discord](https://neo4j.com/developer/discord/).
- Create a post on the Neo4j [Community Forum](https://community.neo4j.com/).

> NeoDash Labs is a free and open-source tool developed by the Neo4j community - not an official Neo4j product. Use at your own risk!
72 changes: 72 additions & 0 deletions about.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
## About NeoDash Labs

> NeoDash Labs is an unmaintained and unsupported tool. Use at your own risk!

NeoDash is a web-based tool for visualizing your Neo4j data. It lets you group visualizations together as dashboards, and allow for interactions between reports.

Neodash supports presenting your data as tables, graphs, bar charts, line charts, maps and more. It contains a Cypher editor to directly write the Cypher queries that populate the reports. You can save dashboards to your database, and share them with others.

## Try NeoDash Labs
You can build NeoDash yourself, or pull the latest Docker image from Docker Hub.
```
# Run the application on http://localhost:5005
docker pull neo4jlabs/neodash:latest
docker run -it --rm -p 5005:5005 neo4jlabs/neodash
```

> Windows users may need to prefix the `docker run` command with `winpty`.



## Build and Run
This project uses `yarn` to install, run, build prettify and apply linting to the code.

To install dependencies:
```
yarn install
```

To run the application in development mode:
```
yarn run dev
```

To build the app for deployment:
```
yarn run build
```

To manually prettify all the project `.ts` and `.tsx` files, run:
```
yarn run format
```

To manually run linting of all your .ts and .tsx files, run:
```
yarn run lint
```

To manually run linting of all your .ts and .tsx staged files, run:
```
yarn run lint-staged
```

See the [Developer Guide](https://neo4j.com/labs/neodash/2.3/developer-guide/) for more on installing, building, and running the application.

### Pre-Commit Hook
While commiting, a pre-commit hook will be executed in order to prettify and run the Linter on your staged files. Linter warnings are currently accepted. The commands executed by this hook can be found in /.lintstagedrc.json.

There is also a dedicated linting step in the Github project pipeline in order to catch each potential inconsistency.

> Don't hesitate to setup your IDE formatting feature to use the Prettier module and our defined rules (.prettierrc.json).


## User Guide
NeoDash comes with built-in examples of dashboards and reports. For more details on the types of reports and how to customize them, see the [User Guide](
https://neo4j.com/labs/neodash/2.3/user-guide/).

## Publish Dashboards
After building a dashboard, you can chose to deploy a read-only, standalone instance for users. See [Publishing](https://neo4j.com/labs/neodash/2.3/user-guide/publishing/) for more on publishing dashboards.


> NeoDash Labs is a free and open-source tool developed by the Neo4j community - not an official Neo4j product. Use at your own risk!
16 changes: 16 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
## NeoDash 2.4.10 - Community contributions
This is a minor release containing bug fixes and improvements contributed by the NeoDash community.
- [#1039](https://github.com/neo4j-labs/neodash/pull/1039) - Fix default color scheme for bar charts
- [#1038](https://github.com/neo4j-labs/neodash/pull/1038) - Fix rule-based styling for line charts
- [#1036](https://github.com/neo4j-labs/neodash/pull/1036) - Fix table cell rule-based styling
- [#1029](https://github.com/neo4j-labs/neodash/pull/1029) - Fix rule-based styling for numeric values
- [#1028](https://github.com/neo4j-labs/neodash/pull/1028) - Fix OpenStreetMap leaflet display
- [#1020](https://github.com/neo4j-labs/neodash/pull/1020) - Fix boolean handling in parameter selection
- [#1014](https://github.com/neo4j-labs/neodash/pull/1014) - Remove autoPageSize flag (defaults to 0)
- [#1009](https://github.com/neo4j-labs/neodash/pull/1009) - Fix SSO parameters lost on browser redirect
- [#1008](https://github.com/neo4j-labs/neodash/pull/1008) - Fix existence check for `value.low`
- [#1005](https://github.com/neo4j-labs/neodash/pull/1005) - Replace Neo4j Logo
- [#1002](https://github.com/neo4j-labs/neodash/pull/1002) - Patch FAQ on supportability
- [#999](https://github.com/neo4j-labs/neodash/pull/999) - Fix dark mode table header styling
- [#956](https://github.com/neo4j-labs/neodash/pull/956) - Change default protocol to `neo4j+s`

## NeoDash 2.4.9
This release adds some minor changes to documentation and implements some community contributions.
- Added notice about project evolution: [#967](https://github.com/neo4j-labs/neodash/pull/967)
Expand Down
1 change: 1 addition & 0 deletions cypress/Page.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ export class Page {

connectToNeo4j() {
cy.get('#form-dialog-title', { timeout: 20000 }).should('contain', 'Connect to Neo4j');
cy.get('#protocol').type('neo4j{enter}');
cy.get('#url').clear().type(DB_URL);
cy.get('#dbusername').clear().type(DB_USERNAME);
cy.get('#dbpassword').type(DB_PASSWORD);
Expand Down
10 changes: 5 additions & 5 deletions cypress/e2e/start_page.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,11 @@ describe('NeoDash E2E Tests', () => {
.should('contain', 'title')
.and('contain', 'released')
.and('not.contain', '__id');
// cy.get('main .react-grid-item:eq(2) .MuiDataGrid-virtualScroller .MuiDataGrid-row').should('have.length', 5);
// cy.get('main .react-grid-item:eq(2) .MuiDataGrid-footerContainer').should('contain', '1–5 of 8');
cy.get('main .react-grid-item:eq(2) .MuiDataGrid-footerContainer button[aria-label="Go to next page"]').click();
cy.get('main .react-grid-item:eq(2) .MuiDataGrid-virtualScroller .MuiDataGrid-row').should('have.length', 3);
cy.get('main .react-grid-item:eq(2) .MuiDataGrid-footerContainer').should('contain', '6–8 of 8');
// cy.get('main .react-grid-item:eq(2) .MuiDataGrid-virtualScroller .MuiDataGrid-row').should('have.length', 8);
// cy.get('main .react-grid-item:eq(2) .MuiDataGrid-footerContainer').should('contain', '1–8 of 8');
// cy.get('main .react-grid-item:eq(2) .MuiDataGrid-footerContainer button[aria-label="Go to next page"]').click();
// cy.get('main .react-grid-item:eq(2) .MuiDataGrid-virtualScroller .MuiDataGrid-row').should('have.length', 3);
// cy.get('main .react-grid-item:eq(2) .MuiDataGrid-footerContainer').should('contain', '6–8 of 8');
});

it('creates a bar chart report', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
include::../banner.adoc[]

= Adding Visualizations

include::../banner.adoc[]
Expand Down
2 changes: 2 additions & 0 deletions docs/modules/ROOT/pages/developer-guide/build-and-run.adoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
include::../banner.adoc[]

= Build & Run

include::../banner.adoc[]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
include::../banner.adoc[]

= Component Overview

include::../banner.adoc[]
Expand Down
6 changes: 4 additions & 2 deletions docs/modules/ROOT/pages/developer-guide/configuration.adoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
include::../banner.adoc[]

= Configuration

include::../banner.adoc[]
Expand All @@ -21,7 +23,7 @@ will look like this:
"ssoProviders": [],
"ssoDiscoveryUrl": "https://example.com",
"standalone": false,
"standaloneProtocol": "neo4j",
"standaloneProtocol": "neo4j+s",
"standaloneHost": "localhost",
"standalonePort": "7687",
"standaloneDatabase": "neo4j",
Expand Down Expand Up @@ -57,7 +59,7 @@ mode (false), or reader mode (true). The terms ``Reader mode'' and
``Standalone mode'' are used interchangibly.

|standaloneProtocol |string |neo4j |When running in standalone mode, the
protocol to used for the Neo4j driver. This shoudl be set to one of
protocol to used for the Neo4j driver. This should be set to one of
`neo4j`, `neo4j+s`, `neo4j+ssc`, `bolt`, `bolt+s`, or `bolt+ssc`.

|standaloneHost |string |localhost |When running in standalone mode, the
Expand Down
2 changes: 2 additions & 0 deletions docs/modules/ROOT/pages/developer-guide/contributing.adoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
include::../banner.adoc[]

= Contributing

include::../banner.adoc[]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Depending on the webserver type and version, this could be different directory.
As an example - to copy the files to an nginx webserver using `scp`:

```bash
scp neodash-2.4.9-labs username@host:/usr/share/nginx/html
scp neodash-2.4.11-labs username@host:/usr/share/nginx/html
```

NeoDash should now be visible by visiting your (sub)domain in the browser.
Expand Down
2 changes: 2 additions & 0 deletions docs/modules/ROOT/pages/developer-guide/design.adoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
include::../banner.adoc[]

= Design

include::../banner.adoc[]
Expand Down
2 changes: 2 additions & 0 deletions docs/modules/ROOT/pages/developer-guide/index.adoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
include::../banner.adoc[]

= Developer Guide

include::../banner.adoc[]
Expand Down
2 changes: 2 additions & 0 deletions docs/modules/ROOT/pages/developer-guide/session-storage.adoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
include::../banner.adoc[]

= Session Storage

include::../banner.adoc[]
Expand Down
4 changes: 3 additions & 1 deletion docs/modules/ROOT/pages/developer-guide/standalone-mode.adoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
include::../banner.adoc[]

= Standalone Mode

include::../banner.adoc[]
Expand Down Expand Up @@ -44,7 +46,7 @@ docker run -it --rm -p 5005:5005 \
-e ssoProviders=[] \
-e ssoDiscoveryUrl="https://example.com" \
-e standalone=true \
-e standaloneProtocol="neo4j" \
-e standaloneProtocol="neo4j+s" \
-e standaloneHost="localhost" \
-e standalonePort="7687" \
-e standaloneDatabase="neo4j" \
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
include::../banner.adoc[]

= State Management

include::../banner.adoc[]
Expand Down Expand Up @@ -131,7 +133,7 @@ standalone mode.
"ssoEnabled": false,
"ssoProviders": [],
"ssoDiscoveryUrl": "https://example.com",
"standaloneProtocol": "neo4j",
"standaloneProtocol": "neo4j+s",
"standaloneHost": "localhost",
"standalonePort": "7687",
"standaloneDatabase": "neo4j",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
include::../banner.adoc[]

= Style Configuration

include::../banner.adoc[]
Expand Down
2 changes: 2 additions & 0 deletions docs/modules/ROOT/pages/developer-guide/testing.adoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
include::../banner.adoc[]

= Testing

include::../banner.adoc[]
Expand Down
2 changes: 2 additions & 0 deletions docs/modules/ROOT/pages/index.adoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
include::/banner.adoc[]

= Introduction

include::/banner.adoc[]
Expand Down
2 changes: 2 additions & 0 deletions docs/modules/ROOT/pages/quickstart.adoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
include::/banner.adoc[]

= Quickstart

include::/banner.adoc[]
Expand Down
2 changes: 2 additions & 0 deletions docs/modules/ROOT/pages/user-guide/access-control.adoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
include::../banner.adoc[]

= Access Control

include::../banner.adoc[]
Expand Down
2 changes: 2 additions & 0 deletions docs/modules/ROOT/pages/user-guide/bloom-integration.adoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
include::../banner.adoc[]

= Bloom Integration

include::../banner.adoc[]
Expand Down
Loading
Loading