{"id":13596352,"url":"https://github.com/SouthbankSoftware/dbkoda","last_synced_at":"2025-04-09T16:32:22.226Z","repository":{"id":38427253,"uuid":"83496974","full_name":"SouthbankSoftware/dbkoda","owner":"SouthbankSoftware","description":"State of the art MongoDB IDE","archived":true,"fork":false,"pushed_at":"2022-12-20T22:59:00.000Z","size":2314,"stargazers_count":867,"open_issues_count":63,"forks_count":43,"subscribers_count":22,"default_branch":"develop","last_synced_at":"2025-03-25T14:45:26.022Z","etag":null,"topics":["editor","ide","mongodb","react","shell","treeview"],"latest_commit_sha":null,"homepage":"https://www.dbkoda.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SouthbankSoftware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-01T01:23:55.000Z","updated_at":"2025-03-15T20:58:39.000Z","dependencies_parsed_at":"2023-01-30T02:15:33.501Z","dependency_job_id":null,"html_url":"https://github.com/SouthbankSoftware/dbkoda","commit_stats":null,"previous_names":[],"tags_count":816,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SouthbankSoftware%2Fdbkoda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SouthbankSoftware%2Fdbkoda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SouthbankSoftware%2Fdbkoda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SouthbankSoftware%2Fdbkoda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SouthbankSoftware","download_url":"https://codeload.github.com/SouthbankSoftware/dbkoda/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248067890,"owners_count":21042372,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["editor","ide","mongodb","react","shell","treeview"],"created_at":"2024-08-01T16:02:20.189Z","updated_at":"2025-04-09T16:32:17.211Z","avatar_url":"https://github.com/SouthbankSoftware.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","IDE"],"sub_categories":[],"readme":"# dbKoda [No Longer Maintained]\n\n**Note:** Unfortunately this project is no longer under active development.\n\n_State of the art MongoDB IDE_\n\n[![CQUTesting](https://img.shields.io/travis/SouthbankSoftware/dbkoda.svg?style=flat-square\u0026label=CQUTesting)](https://travis-ci.org/SouthbankSoftware/dbkoda)\n[![dependencies](https://img.shields.io/david/SouthbankSoftware/dbkoda.svg?style=flat-square)](https://david-dm.org/SouthbankSoftware/dbkoda)\n[![devDependencies](https://img.shields.io/david/dev/SouthbankSoftware/dbkoda.svg?style=flat-square)](https://david-dm.org/SouthbankSoftware/dbkoda?type=dev)\n\ndbKoda is a modern (JavaScript/Electron framework), open source IDE for MongoDB. It has features to support development, administration and performance tuning on MongoDB databases. It has a rich feature set, including:\n\n* Rich text editor with auto-complete, syntax highlighting and code formatting\n* Visual explain plan with indexing advisors\n* A real time performance dashboard\n* Graphical aggregation and command builders\n* One-click access to MongoDB administration commands\n* Disk Storage analysis\n* SQL queries using Apache Drill\n* Data load and unload utilities\n* and a lot of more… check our [blogs](https://medium.com/dbkoda) and [website](https://www.dbkoda.com) for details.\n\n**Download latest release:** [v1.1.0](https://github.com/SouthbankSoftware/dbkoda/releases/tag/v1.1.0)\n**Download latest beta release:** [v1.1rc9](https://github.com/SouthbankSoftware/dbkoda/releases/tag/1.1.0)\n\nThis repository defines dbKoda's building, user acceptance testing (UAT), launching and packaging workflows.\n\n## Requirement\n\n* Node 8.9.1+\n* Yarn 1.3.2+\n* To install and use this repository you will need to clone [dbkoda-ui](https://github.com/Southbanksoftware/dbkoda-ui) and [dbkoda-controller](https://github.com/Southbanksoftware/dbkoda-controller)\n\n## Setup\n\n1.  Make sure `dbkoda-ui`, `dbkoda-controller` and `dbkoda` are sibling folders to each other within a same parent folder, e.g:\n\n```text\nroot_folder\n├── dbkoda-ui\n├── dbkoda-controller\n└── dbkoda\n```\n\n2.  **[Important]** In `dbkoda`, run the following command `yarn dev:link`. This is only needed for the first setup. If you are installing on windows, use `yarn dev:link:win`.\n3.  Run `yarn install` within all 3 repos.\n4.  To build a new the app, `yarn run pack`. For Windows, use `yarn pack:win`.\n5.  To build a version of the app, run `yarn run dist:dev` (without compression) and `yarn run dist` (with normal compression). For Windows, use the command `yarn dist:win`.\n6.  _[optional]_ After you have tried above commands, your `dbkoda-controller`’s native modules will be built against `electron`‘s node version. If you want to go back to 'byo' mode, you need to run `yarn dev:rebuild:current` to rebuild these native modules against your current `node` version.\n7.  _[optional]_ If you encounter errors or irregularities during any of these steps, you can run `rm -rf node_modules` within each of the repositories, and then run `yarn install` again. If you are still having troubles, please check our FAQs or raise a new topic at our [support site](https://dbkoda.useresponse.com)\n\n## Config\n\nYou can config dbKoda by putting a `config.yml` in your dbKoda home folder as follows:\n\n```yaml\n# Note: please use full path for all commands\n\n# Local mongo binary path. dbKoda will detect your mongo binary upon first launch in your login\n# shell\nmongoCmd: /usr/local/bin/mongo\n```\n\n## Docker Config\n\nPlease configure docker command if you are using mongo shell through a docker container:\n\n```yaml\ndockerEnabled: true\ndocker:\n  mongoCmd: docker run -it --rm mongo mongo\n  mongoVersionCmd: docker run --rm mongo mongo --version\n```\n\nBelow configuration is used to run mongo shell through existed docker container:\n\n```yaml\ndockerEnabled: true\ndocker:\n  mongoCmd: docker exec -it CONTAINER_ID mongo\n  mongoVersionCmd: docker exec CONTAINER_ID mongo --version\n```\n\nPlease configure the mongo os commands if you want to use backup/restore through docker container. You need to specify the mount points for the docker container in order to backup/resore your mongo file. Otherwise, the data you backedup will be wipped after the container exist.\n\n```yaml\ndockerEnabled: true\ndocker:\n  mongoexportCmd: docker run --rm -v OS_PATH:CONTAINER_PATH mongo mongoexport\n  mongoimportCmd: docker run --rm -v OS_PATH:CONTAINER_PATH mongo mongoimport\n  mongodumpCmd: docker run --rm -v OS_PATH:CONTAINER_PATH mongo mongodump\n  mongorestoreCmd: docker run --rm -v OS_PATH:CONTAINER_PATH mongo mongorestore\n```\n\n### dbKoda Home Folder\n\nMac \u0026 Linux: `~/.dbKoda/`\nWindows: `c:\\Users\\\u003cusername\u003e\\.dbKoda\\`\n\n## Development\n\nIn development mode dbKoda has four running modes: byo, super_dev, dev and prod\n\n### Bring Your Own (BYO) Dev Mode (byo)\n\nYou can separately launch your own copy of `dbkoda-ui` or `dbkoda-controller` to be used by `dbkoda` in this mode. You should `unlink` `dbkoda-ui` and `dbkoda-controller` from `dbkoda` in this mode to avoid unwanted interference.\n\nStart BYO mode using the commands `yarn run byo` or `yarn byo`.\n\n### Super Dev Mode (super_dev)\n\nHot-reloading of `dbkoda-ui` is enabled in this mode. When app launches, Webpack needs some time to package the UI for the first time, so the launching speed is much slower than other modes.\n\n`yarn run super` or `yarn super`\n\n### Dev Mode (dev)\n\n`yarn run dev` or `yarn dev`\n\n### [Devtron](https://github.com/electron/devtron#-devtron)\n\nDevtron is an Electron DevTools extension to help you inspect, monitor, and debug your app, to install Devtron, follow the steps below.\n\n1.  `yarn add -D devtron`\n2.  Run `require('devtron').install()` in Chrome DevTools. In either [BYO](#bring-your-own-byo-dev-mode) or [Super Dev](#super-dev-mode) mode, you should run this in DevTools of splash screen window. You can kill `dbkoda-ui`, and create a new window (\u003ckbd\u003ecmd+n\u003c/kbd\u003e) in electron, so a new splash\n    screen window will keep shown. This step is only needed for first time installation.\n\n### [React DevTools](https://github.com/firejune/electron-react-devtools)\n\nReact component tree inspector extension for Chrome DevTools\n\n1.  `yarn add -D electron-react-devtools`\n2.  Run `require('electron-react-devtools').install()` in Chrome DevTools. In either [BYO](#bring-your-own-byo-dev-mode) or [Super Dev](#super-dev-mode) mode, you should run this in DevTools of splash screen window. You can kill `dbkoda-ui`, and create a new window (\u003ckbd\u003ecmd+n\u003c/kbd\u003e) in electron, so a new splash\n    screen window will keep shown. This step is only needed for first time installation.\n\n### Transpiling ES6 Code\n\n`yarn run build` or `yarn build`\n\n### Cleaning up Transpiled ES6 Code\n\n`yarn run clean`\n\n### Packaging into App (prod)\n\n`yarn run pack`\n\nTo Pack for windows\n`yarn run pack:win`\n\n### Packaging into Installer (prod)\n\nWith normal compression (around 3 min):\n\n`yarn run dist` or `yarn dist`\n\nFow Windows:\n`yarn run dist:win` or `yarn dist:win`\n\nWithout compression (fastest, around 1 min):\n\n`yarn run dist:dev` or `yarn dist:dev`\n\n## Testing\n\nFollowing commands will run all test suites under `tests`. To run a particular test suite, e.g. `example1.test.js` and `example2.test.js` with `jest:dev` command:\n\n`yarn jest:dev \"example[1,2].test.js\"`\n\n#### Development (byo)\n\nThis will run `eslint` and `jest` against unpacked app\n\n`yarn test` or `yarn test:dev`\n\n#### Production (prod)\n\nThis will run `eslint` then `jest` against packed app\n\n`yarn test:prod`\n\n#### Jest only (byo)\n\nThis is `spectron` based UAT\n\n`yarn jest:dev`\n\n#### Jest only (prod)\n\nSimilar to previous one, but run `jest` against packed app\n\n`yarn jest:prod`\n\n##### Run only\n\nRun `jest` against previously packed app\n\n`yarn jest:prod:runonly`\n\n## UAT Test\n\nSet up below environment variables for UAT testing:\n\n* EC2_SHARD_CLUSTER_HOSTNAME\n* EC2_SHARD_CLUSTER_USERNAME\n* EC2_SHARD_CLUSTER_PASSWORD\n* ATLAS_SERVER_HOSTNAME\n* ATLAS_SERVER_USERNAME\n* ATLAS_SERVER_PASSWORD\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSouthbankSoftware%2Fdbkoda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSouthbankSoftware%2Fdbkoda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSouthbankSoftware%2Fdbkoda/lists"}