Git Product home page Git Product logo

rocketredis's Introduction

Diego Fernandes

CTO @Rocketseat.

Twitter Badge Linkedin Badge Gmail Badge

Enthusiast of the best web & mobile development technologies.

Passionate about education and changing people's lives through programming. More than 200,000 people have already undergone one of my trainings.

"Nothing in this world beats good old persistence. Talent does not surpass. Nothing more common than talented failures. Genius does not overcome. Unrecognized geniuses is practically a cliche. Education does not exceed. The world is full of educated fools. Persistence and determination alone are powerful."

rocketredis's People

Contributors

acmesquita avatar adarshsaraogi avatar almeidx avatar diego3g avatar filliperomero avatar joaojlf4 avatar josepholiveira avatar leoferreiralima avatar leonardolopesinf avatar muurilo avatar natanaelsirqueira avatar r3nanp avatar renovate-bot avatar ruisaraiva19 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rocketredis's Issues

Sugestion

When I have connections the list does not show a scroll bar.

I have problems with install material-ui components

ERROR in ./node_modules/@mui/system/ThemeProvider/ThemeProvider.js
Module not found: Error: Can't resolve 'react/jsx-runtime' in '/Users/junielfilappi/Desktop/javascript/cloud-invoice/node_modules/@mui/system/ThemeProvider'
@ ./node_modules/@mui/system/ThemeProvider/ThemeProvider.js 22:18-46
@ ./node_modules/@mui/system/ThemeProvider/index.js
@ ./node_modules/@mui/system/index.js
@ ./node_modules/@mui/material/node/styles/styled.js
@ ./node_modules/@mui/material/node/ListSubheader/ListSubheader.js
@ ./node_modules/@mui/material/node/ListSubheader/index.js
@ ./node_modules/@mui/material/node/index.js
@ ./src/pages/Login/index.tsx
@ ./src/routes/index.tsx
@ ./src/App.tsx
@ multi ./node_modules/@pmmmwh/react-refresh-webpack-plugin/client/ReactRefreshEntry.js ./node_modules/@pmmmwh/react-refresh-webpack-plugin/client/ErrorOverlayEntry.js ./src/App.tsx

Error when commit

It is not possible to commit my functionality github desktop always gives me this error.

Commit failed - exit code 1 received, with output: 'husky > pre-commit (node v12.18.2)
[STARTED] Preparing...
[SUCCESS] Preparing...
[STARTED] Running tasks...
[STARTED] Running tasks for *.{js,jsx,ts,tsx}
[STARTED] Running tasks for package.json
[STARTED] eslint --fix
[STARTED] sort-package-json
[SUCCESS] sort-package-json
[SUCCESS] Running tasks for package.json
[SUCCESS] eslint --fix
[SUCCESS] Running tasks for *.{js,jsx,ts,tsx}
[SUCCESS] Running tasks...
[STARTED] Applying modifications...
[SUCCESS] Applying modifications...
[STARTED] Cleaning up...
[SUCCESS] Cleaning up...
husky > prepare-commit-msg (node v12.18.2)
sh: /dev/tty: No such device or address
husky > prepare-commit-msg hook failed (cannot be bypassed with --no-verify due to Git specs)'

Connection list

It should be able to connect to a save connection to see its details like how many keys are stored inside of each included databases.

The user may connect just by double clicking the connection inside the connection list on the sidebar.

After that, a loading indicator should be shown during the connection process and after all that the user will get a visual feedback about the connection status.

Red background: Connection failed
Purple background: Connection successful

If the connection fails, the user can retry it clicking a button, otherwise, the user can see all of the databases inside the connection and how many keys there are inside of each one.

Layout: https://www.figma.com/file/YRor24p0TmTxcjl5L86jGb/Rocket-Redis?node-id=1%3A2

Refactor test connection

Currently the Test connection feature check the connection simply by trying to connect to the database instance, but it seems that even when we provide a wrong password the connection test passes.

We need to find an way to test if the connection really works.

I think one good method is to execute the ping Redis command (https://redis.io/commands/ping) that returns pong and if this command works, then we're connected.

Suggestion: group keys with the same "namespace"

Hello. First of all, this is great! I really love the app's design. It doesn't look like a thing from the 90's like most Redis related tools.

image

Namespacing things with separators (like semicolons) would make visually searching for a set of keys easier. It could be with folders, like this:

image

If I knew any Electron I could try to help, but JS is not really my cup of tea :)

Thanks guys.

A Few ... Suggestions

Cute interface; however, I've not tried it. I'm leaving these suggestions not for me but for you in case you want this thing to be more than a fancy connection manager.

  1. Write up some goals for the product. What is the intention for its existence? What problems will it try to solve and what problems will it not try to solve?
  2. Write some documentation.
  3. Consider usability (perhaps you've done this already; however, I wouldn't know since I've not used it)
  4. Consider what happens when a person stores several connections and wants to move those settings to another computer (i.e. dotfiles)
  5. How will you deal with dotfiles (i.e. XDG?)
  6. Proxies, TLS, etc
  7. Keyboard shortcuts (think, slack)
  8. Automation & Scripting (will this be useful for repetitive tasks?)

That's all I can think of for now. Hope it helps.

[RFC] Project design and tasks

Hello everyone!

I started working on the project UI, at first i got the connection list so we can already add all of the functionalities around it.

Layout (work in progress):
https://www.figma.com/file/YRor24p0TmTxcjl5L86jGb/Rocket-Redis?node-id=0%3A1

Later today i'll create tasks inside the project tab here inside Github: https://github.com/diego3g/rocketredis/projects/1?add_cards_query=is%3Aopen

Feel free to use this issue to discuss about design and features inside Rocket Redis.

Thanks all for the contribution until now 💜

UI bug identified on Windows 10

Diego, I identified unexpected behavior in the top bar on Windows 10.

Captura de Tela (299)

The configuration applied in the electron/main.ts file had no effect on Windows.

Error when running the project

After cloning the project and installing all dependencies, both yarn dev commands that should be unique to execute the project or yarn dev:reactand yarn dev:electron that would run each environment individually, don't work on MacOS. The Electron application is instantiated , but the application interface isn't open. Is there a step missing that is not clear? I looked at the video on YouTube, where the project was demonstrated to see the steps and I found no differences.

It's not showing databases

It's not showing any database for me 🤔, i have tested with others redis management softwares like Redily and it's working fine.
I'm on Windows 10 1809

rr

Integrate CI

It would be great to have CI in the project, we can use github actions or circleCI. Perhaps it is not yet the right time to implement this, but it would be very good.

Can not save connection

After test connection successfully, I can not save the connection. Nothing happen when I click save button!

Windows 10
Node 12

Webpack build failing with ERR_OSSL_EVP_UNSUPPORTED

yarn dev command resulting in the following error...

pm-run-all -p dev:react electron:serve
$ wait-on http-get://localhost:4000/ && npm run dev:electron
$ cross-env NODE_ENV=development webpack-dev-server --config webpack/react.webpack.js
ℹ 「wds」: Project is running at http://localhost:4000/
ℹ 「wds」: webpack output is served from /
ℹ 「wds」: Content not from webpack is served from /home/asaas/dev/projects/gui-redis/dist/renderer
ℹ 「wds」: 404s will fallback to /index.html
node:internal/crypto/hash:71
  this[kHandle] = new _Hash(algorithm, xofLen);
                  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (/home/asaas/dev/projects/gui-redis/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/home/asaas/dev/projects/gui-redis/node_modules/webpack/lib/NormalModule.js:417:16)
    at handleParseError (/home/asaas/dev/projects/gui-redis/node_modules/webpack/lib/NormalModule.js:471:10)
    at /home/asaas/dev/projects/gui-redis/node_modules/webpack/lib/NormalModule.js:503:5
    at /home/asaas/dev/projects/gui-redis/node_modules/webpack/lib/NormalModule.js:358:12
    at /home/asaas/dev/projects/gui-redis/node_modules/loader-runner/lib/LoaderRunner.js:373:3
    at iterateNormalLoaders (/home/asaas/dev/projects/gui-redis/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
    at Array.<anonymous> (/home/asaas/dev/projects/gui-redis/node_modules/loader-runner/lib/LoaderRunner.js:205:4) {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'

Electron updater and Hazel

Currently we have enabled the Electron Updater in the project, but does it work without a server to store the application bundles?

I saw this project today and i'm trying to find if it fit our needs here with the auto updates: https://github.com/vercel/hazel

Problem with menu

I saw that we are creating a menu in main.ts (electron) but this menu is not showing in Windows/linux (because of the custom Header). It only shows in Mac because MacOS handles different the menu.

The idea is to only show in MacOS or it is suppose to show in others platform?

If the answer is for all plataforms, I am thinking on fixing it putting the menu in the Header component but we don't a layout for it (one with the menu).
Some insights would be good, so I can work on it.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Warning

These dependencies are deprecated:

Datasource Name Replacement PR?
npm @types/ioredis Unavailable
npm @types/yup Unavailable
npm eslint-plugin-node Available
npm eslint-plugin-standard Unavailable
npm i18next-electron-language-detector Unavailable
npm npm-run-all Available

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • chore(deps): replace dependency eslint-plugin-node with eslint-plugin-n 14.0.0
  • fix(deps): replace dependency npm-run-all with npm-run-all2 5.0.0
  • chore(deps): update dependency typescript to v3.9.10
  • chore(deps): update jest monorepo (@types/jest, jest)
  • fix(deps): update dependency @unform/core to v2.1.6
  • fix(deps): update dependency @unform/web to v2.1.6
  • fix(deps): update dependency react-use to v15.3.8
  • fix(deps): update dependency uuidv4 to v6.2.13
  • chore(deps): update dependency @pmmmwh/react-refresh-webpack-plugin to v0.5.15
  • chore(deps): update dependency babel-loader to v8.3.0
  • chore(deps): update dependency eslint to v7.32.0
  • chore(deps): update dependency eslint-import-resolver-typescript to v2.7.1
  • chore(deps): update dependency eslint-plugin-import-helpers to v1.3.1
  • chore(deps): update dependency eslint-plugin-promise to v4.3.1
  • chore(deps): update dependency eslint-plugin-react to v7.34.4
  • chore(deps): update dependency ts-jest to v26.5.6
  • chore(deps): update dependency webpack to v4.47.0
  • chore(deps): update redis docker tag to v6.2
  • fix(deps): update dependency i18next-fs-backend to v1.2.0
  • fix(deps): update dependency ioredis to v4.28.5 (ioredis, @types/ioredis)
  • fix(deps): update dependency polished to v3.7.2
  • fix(deps): update dependency react-i18next to v11.18.6
  • fix(deps): update dependency react-icons to v3.11.0
  • fix(deps): update dependency react-modal to v3.16.1 (react-modal, @types/react-modal)
  • fix(deps): update dependency react-resizable to v1.11.1 (react-resizable, @types/react-resizable)
  • fix(deps): update dependency react-virtual to v2.10.4
  • fix(deps): update dependency recoil to v0.7.7
  • fix(deps): update dependency styled-components to v5.3.11 (styled-components, @types/styled-components)
  • fix(deps): update dependency wait-on to v5.3.0
  • fix(deps): update dependency yup to v0.32.11 (yup, @types/yup)
  • chore(deps): update actions/cache action to v4
  • chore(deps): update actions/checkout action to v4
  • chore(deps): update actions/setup-node action to v4
  • chore(deps): update commitlint monorepo to v19 (major) (@commitlint/cli, @commitlint/config-conventional, @commitlint/core)
  • chore(deps): update dependency @testing-library/react to v16
  • chore(deps): update dependency @types/node to v20
  • chore(deps): update dependency babel-loader to v9
  • chore(deps): update dependency electron-builder to v24
  • chore(deps): update dependency eslint to v9
  • chore(deps): update dependency eslint-config-prettier to v9
  • chore(deps): update dependency eslint-config-standard to v17
  • chore(deps): update dependency eslint-import-resolver-typescript to v3
  • chore(deps): update dependency eslint-plugin-prettier to v5
  • chore(deps): update dependency eslint-plugin-promise to v6
  • chore(deps): update dependency eslint-plugin-standard to v5
  • chore(deps): update dependency html-webpack-plugin to v5
  • chore(deps): update dependency husky to v9
  • chore(deps): update dependency json-schema-typed to v8
  • chore(deps): update dependency lint-staged to v15
  • chore(deps): update dependency prettier to v3
  • chore(deps): update dependency rimraf to v6
  • chore(deps): update dependency sort-package-json to v2
  • chore(deps): update dependency typescript to v5
  • chore(deps): update dependency webpack to v5
  • chore(deps): update dependency webpack-cli to v5
  • chore(deps): update dependency webpack-dev-server to v5
  • chore(deps): update jest monorepo to v29 (major) (@types/jest, jest, ts-jest)
  • chore(deps): update react monorepo to v18 (major) (@types/react, @types/react-dom, react, react-dom)
  • chore(deps): update redis docker tag to v7
  • chore(deps): update typescript-eslint monorepo to v7 (major) (@typescript-eslint/eslint-plugin, @typescript-eslint/parser)
  • fix(deps): update dependency electron-store to v10
  • fix(deps): update dependency i18next to v23
  • fix(deps): update dependency i18next-fs-backend to v2
  • fix(deps): update dependency ioredis to v5 (ioredis, @types/ioredis)
  • fix(deps): update dependency polished to v4
  • fix(deps): update dependency react-i18next to v14
  • fix(deps): update dependency react-icons to v5
  • fix(deps): update dependency react-resizable to v3 (react-resizable, @types/react-resizable)
  • fix(deps): update dependency react-spring to v9
  • fix(deps): update dependency react-use to v17
  • fix(deps): update dependency styled-components to v6
  • fix(deps): update dependency wait-on to v7
  • fix(deps): update dependency yup to v1
  • 🔐 Create all rate-limited PRs at once 🔐

Edited/Blocked

These updates have been manually edited so Renovate will no longer make changes. To discard all commits and start over, click on a checkbox.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

docker-compose
docker-compose.yml
  • redis 6.0
github-actions
.github/workflows/build.yml
  • actions/checkout v1
  • actions/setup-node v1
  • actions/cache v2
  • samuelmeuli/action-electron-builder v1
.github/workflows/lint.yml
  • actions/checkout v2
  • actions/setup-node v1
  • bahmutov/npm-install v1
.github/workflows/test.yml
  • actions/checkout v2
  • actions/setup-node v1
  • bahmutov/npm-install v1
.github/workflows/tsc.yml
  • actions/checkout v2
  • actions/setup-node v1
  • bahmutov/npm-install v1
npm
package.json
  • @babel/runtime 7.10.5
  • @unform/core 2.1.3
  • @unform/web 2.1.3
  • electron-store 5.2.0
  • electron-updater 4.3.4
  • i18next 19.6.3
  • i18next-electron-language-detector 0.0.10
  • i18next-fs-backend 1.0.7
  • ioredis 4.17.3
  • npm-run-all 4.1.5
  • polished 3.6.5
  • react 16.13.1
  • react-contextmenu 2.14.0
  • react-dom 16.13.1
  • react-i18next 11.7.0
  • react-icons 3.10.0
  • react-modal 3.11.2
  • react-resizable 1.10.1
  • react-spring 8.0.27
  • react-use 15.3.3
  • react-virtual 2.2.1
  • recoil 0.0.10
  • styled-components 5.1.1
  • uuidv4 6.2.0
  • wait-on 5.2.1
  • yup 0.29.2
  • @babel/core 7.10.5
  • @babel/plugin-transform-runtime 7.10.5
  • @babel/preset-env 7.10.4
  • @babel/preset-react 7.10.4
  • @babel/preset-typescript 7.10.4
  • @commitlint/cli 9.1.2
  • @commitlint/config-conventional 9.1.2
  • @commitlint/core 9.1.2
  • @pmmmwh/react-refresh-webpack-plugin 0.4.1
  • @testing-library/react 10.4.9
  • @types/ioredis 4.17.2
  • @types/jest 26.0.7
  • @types/node 12.19.12
  • @types/react 16.9.41
  • @types/react-dom 16.9.8
  • @types/react-modal 3.10.6
  • @types/react-resizable 1.7.2
  • @types/styled-components 5.1.1
  • @types/yup 0.29.3
  • @typescript-eslint/eslint-plugin 3.10.1
  • @typescript-eslint/parser 3.10.1
  • babel-loader 8.1.0
  • commitizen 4.1.2
  • cross-env 7.0.2
  • cz-conventional-changelog 3.2.0
  • electron 11.1.0
  • electron-builder 22.8.0
  • eslint 7.5.0
  • eslint-config-prettier 6.11.0
  • eslint-config-standard 14.1.1
  • eslint-import-resolver-typescript 2.0.0
  • eslint-plugin-import 2.22.0
  • eslint-plugin-import-helpers 1.1.0
  • eslint-plugin-node 11.1.0
  • eslint-plugin-prettier 3.1.4
  • eslint-plugin-promise 4.2.1
  • eslint-plugin-react 7.22.0
  • eslint-plugin-react-hooks 4.0.8
  • eslint-plugin-standard 4.0.1
  • html-webpack-plugin 4.3.0
  • husky 4.2.5
  • jest 26.1.0
  • json-schema-typed 7.0.3
  • lint-staged 10.2.11
  • prettier 2.0.5
  • react-refresh 0.8.3
  • rimraf 3.0.2
  • sort-package-json 1.44.0
  • ts-jest 26.4.4
  • typescript 3.9.7
  • webpack 4.44.0
  • webpack-cli 3.3.12
  • webpack-dev-server 3.11.0

  • Check this box to trigger a request for Renovate to run again on this repository

Add connection actions (edit, delete, etc...)

It should be able to execute some common operation with saved connections.

  • Connect/disconnect;
  • Edit settings;
  • Refresh;
  • Delete connection;

If not connected, the connect option will be available, otherwise the disconnect option will be visible.

The edit button must open the same modal used to create a connection but with the fields filled saving the connection in the end.

The refresh must be visible only after connected, this option refreshes all databases inside the connection and each individual key count.

The delete connection will delete permanently the connection from the store, it would be great to confirm with the user before the final delete, something like writing the name of the connection to delete or writing DELETE.

All of these options should be available when the user clicks with the right mouse button in a connection.

Layout: https://www.figma.com/file/YRor24p0TmTxcjl5L86jGb/Rocket-Redis?node-id=15%3A13

Files versioned by error?

Looking at the project, I found some files that I believe are not right.

First strange file in the project is yarn-error.log and then the presence of yarn.lock and package-lock.json.

What is the correct package manager?

UI: New Fonts

@diego3g can we come up with some new font style for this app. if yes let me know so i can work on this.

List database keys

It should be able to user list database keys when a database is selected in the sidebar.

After connected, user can select a database from the sidebar and see all of its content.

The database keys must be grouped for every : included in the key, like a graph.

For example, the keys:

cache:provider:1
cache:provider:2

Will be converted in groups like:

cache > provider > keys 1 and 2

So if the user want to see the keys 1 and 2, he needs to click on cache group, then the provider and then the list of keys will be available.

It should also be able to user filter the keys by its name, a simple matching filter.

Layout: https://www.figma.com/file/YRor24p0TmTxcjl5L86jGb/Rocket-Redis?node-id=1%3A2

Save connection

Currently we are not able to store connections neither connect to the database to list keys inside of it.

We need to implement the "Save connection" feature after the user clicks on "Save" button inside the "Create connection" modal.

For now we'll only allow simple server/port connections, no SSH/TLS.

Layout: https://www.figma.com/file/YRor24p0TmTxcjl5L86jGb/Rocket-Redis?node-id=27%3A156

Error execute yarn dev

Error when executing yarn dev

npm WARN lifecycle The node binary used for scripts is /tmp/yarn--1595973395396-0.20066777516086587/node but npm is using /home/saymon/.nvm/versions/node/v12.17.0/bin/node itself. Use the --scripts-prepend-node-path option to include the path for the node binary npm was executed with.

System:
Windows 10 Pro with WSL 2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.