diff --git a/DozerDB_logo.png b/DozerDB_logo.png new file mode 100644 index 000000000..50fdf356c Binary files /dev/null and b/DozerDB_logo.png differ diff --git a/README.md b/README.md index 66855796e..333619171 100644 --- a/README.md +++ b/README.md @@ -1,79 +1,124 @@ -# Neo4j Browser +

+ DozerDB +

-Neo4j Browser is the general purpose graphical user interface for Neo4j. Query, visualize, administer and monitor the database with modern and easy-to-use tools. +

+ DozerDB Browser โ€” enhanced graph database UI built on Neo4j Browser +

-![neo4j browser screenshot](./.github/neo4j-browser-screenshot.png) +

+ License + Node.js + Yarn +

-## Demo +

+ Get Started + Contact Us +

-You can try out the latest (unreleased) version of Neo4j Browser at [http://browser-canary.graphapp.io/](http://browser-canary.graphapp.io/). +--- -Keep in mind that you will need to connect to an instance of Neo4j (the database) for most operations in Neo4j Browser. A simple way to get started is through [Neo4j Desktop](https://neo4j.com/download/). Once you've started a database it's by default available for Neo4j Browser to connect to on **localhost:7687**. +## ๐Ÿ“‹ About -## Feedback & Contributing +DozerDB Browser is the graphical user interface for DozerDB. Query, visualize, administer, and monitor your graph database with modern and easy-to-use tools. -Found a bug or some other problem with Neo4j Browser? Please [**open an issue**](https://github.com/neo4j/neo4j-browser/issues). +This project is a fork of [Neo4j Browser](https://github.com/neo4j/neo4j-browser) with DozerDB-specific enhancements. -Have an idea for a new feature? You're welcome to leave suggestions and ideas [here](https://feedback.neo4j.com/browser). +![DozerDB Browser Screenshot](./.github/neo4j-browser-screenshot.png) -Contributions welcome! More information in our [CONTRIBUTING.md](CONTRIBUTING.md). +--- -## Project structure +## ๐Ÿ“ Project Structure -Browser has a subproject of re-usable components bundled together and exposed as `neo4j-arc`. Rather than set up mono-repo tooling the we've set up eslint to isolate `neo4j-arc` and given it a seperate build step. Code in browser can only to import code from `neo4j-arc` through `neo4j-arc` aliases (as if it was a seperate project) and `neo4j-arc` is not allowed to import any code from outside it's own folder. +Browser has a subproject of reusable components bundled together and exposed as `neo4j-arc`. ESLint is configured to isolate `neo4j-arc` โ€” code in browser can only import from `neo4j-arc` through its aliases, and `neo4j-arc` cannot import code from outside its own folder. -## Development +--- -Running Neo4j Browser locally requires Node.js (^12.4.0) and for dependencies we use yarn (`npm install -g yarn`). -To install dependencies and then start the development server at `http://localhost:8080`: +## ๐Ÿ› ๏ธ Development -```shell +### Prerequisites + +- **Node.js** ^12.4.0 +- **Yarn** โ€” install with `npm install -g yarn` + +### Getting Started + +Install dependencies and start the development server at `http://localhost:8080`: + +```bash yarn install yarn start ``` -Or to run in production mode: +To run in production mode: -```shell +```bash yarn start-prod ``` -### Testing overview +--- -Neo4j Browser has both unit and end to end tests running automatically on every pull request. To run the tests locally: +## ๐Ÿงช Testing -`yarn test-unit` runs a linter and then our unit tests. +### Unit Tests -`yarn test-e2e` runs our Cypress end to end tests in the easiest, slowest way. Running them with this command requires docker installed and that nothing else runs on ports 7687 and 8080. +Runs a linter followed by unit tests: -#### Cypress e2e test suite in depth +```bash +yarn test-unit +``` -`yarn e2e-open` to open the Cypress test runner (requires a **fresh** installation of Neo4j to run against, expects neo4j 3.5 by default). See details below on how to configure database version. +### End-to-End Tests -`yarn e2e-local-open` to run against an existing server (with a password already set). We use `newpassword` as the default password here, make sure to pass your password: -`yarn e2e-local-open --env browser-password=` +Runs Cypress e2e tests (requires Docker, ports 7687 and 8080 must be free): -To avoid opening the Cypress test runner and just run the tests in the terminal, remove the "-open" suffix from the previous two commands (so `yarn e2e` and `yarn e2e-local` respectively). +```bash +yarn test-e2e +``` -So to run tests on your existing 4.2 database with the password "hunter2" without opening the Cypress visual test runner: -`yarn e2e-local --env browser-password=hunter2,server=4.2` +#### Cypress Options -All the available options for `--env` are: +Open the Cypress test runner against a fresh Neo4j installation: -``` -server=3.5|4.0|4.1|4.2|4.3 (default 4.3) -edition=enterprise|community|aura (default enterprise) -browser-password= (default 'newpassword') -include-import-tests=true|false (default false) -bolt-url= (default localhost:7687) +```bash +yarn e2e-open ``` -There are some additional options that can only be set as system environmental variables (meaning they cannot be set using the `--env` flag as the ones above). -These needs to be set before the test command is run. +Run against an existing server with a custom password: +```bash +yarn e2e-local-open --env browser-password= ``` -CYPRESS_E2E_TEST_ENV=local|null (if the initial set of pw should run or not) (default undefined) -CYPRESS_BASE_URL= (default http://localhost:8080) -``` -Example: `CYPRESS_E2E_TEST_ENV="local" CYPRESS_BASE_URL=http://localhost:30000 cypress open --env server=4.2` +Available `--env` options: + +| Option | Values | Default | +|--------|--------|---------| +| `server` | `3.5`, `4.0`, `4.1`, `4.2`, `4.3` | `4.3` | +| `edition` | `enterprise`, `community`, `aura` | `enterprise` | +| `browser-password` | any string | `newpassword` | +| `include-import-tests` | `true`, `false` | `false` | +| `bolt-url` | bolt URL (without protocol) | `localhost:7687` | + +Environment variables (set before running): + +| Variable | Description | Default | +|----------|-------------|---------| +| `CYPRESS_E2E_TEST_ENV` | `local` or unset | `undefined` | +| `CYPRESS_BASE_URL` | Browser URL to test | `http://localhost:8080` | + +--- + +## ๐Ÿ“ž Support + +

+ Email Us + More Info +

+ +--- + +

+ © 2026 DozerDB Contributors +