ToolJet is the open-source foundation of ToolJet AI - the enterprise app generation platform for building internal tools, dashboard, business applications, workflows and AI agents 🚀
Find a file
Gandharv 22bce1f4fb
Feature: Collaboration ( realtime comments for canvas ) 🔥 (#810)
* feat: initial commit for collaboration feature

* add dnd to comments

* add positions endpoint

* feat: encapsulate all http common logic in http-client

* segregate sections and transfer responsibility of state

* feat: use-spring to add fade effect 

* fix: open in right

* fix: left-right position css

* add footer for message

* integrate getcomment endpoint

* use fromnow for date ago

* add dnd

* - Add data trasfer object for comment
- Add class-validator package to check the response type from client
- Add comment repository class for persistance layer
- Add comment service with std. http methods
- Update controller with all http methods
- Update comment module
- Fix http-client bug when error is thrown

* fix http client bug when error is thrown

* feat: add entity thread

* feat: add migrations for thread and comment

* update entitites

* add tid to migration

* filter comments by tid(thread_id)

* fix: comment migration, add missing column comment

* feat: integrate in ui

* feat: split comments based on app_id

* fix: dnd to correct position

* package json engines

* engines update

* update npm

* npm 6 to 7

* fix: add user initials to thread

* fix: add firtname lastname to the comments

* - Return user object when save thread called
- Hide password field from user response
- Fix created_at date typo
- Instead of fetch all threads on new thread added, add the response to array of existing threads

* feat: update ui components

* change icon on comments view

* ui fixes

* fix: close icon close the popover

* temp: comment select: false

* use currentUser from localStorage

* fix: on click outside if comment is open, dont hit addThread

* fix: auth token issue in http-client

* on drag hide the comment if open

* add jwt auth

* spec: add test for comment & thread

* cleanup: remove console.log

* feat: add comment actions

* feat: add edit, delete, resolve options

* feat: add mentions component

* feat: add nestjs websockets

* temp

* websocket: establish client-server communication

* ws: add message listner to comments module in ui

* feat: add broadcast method to broadcast new events to all clients 💣

* ws: cleanup 🤙

* fix: remove max height from comment actions

* feat: add user mentions, emoji support

* fix: add static list of users - temp

* update and delete iterations

* - Rename comment, thread to comments, threads
- Add conditional actions
  - Show edit, delete only if he is comment owner
  - Show resolve only if he is thread owner

* reset engines

* move svgr webpack to deps

* fix: ui issues

* remove log stmt

* refactor: move resolved icon to comment-header

* feat: allow comments to be added on top of widgets

* feat: add keyboard shortcut

* scroll to bottom on comment add

* ui fixes

* feat: add react toast for notification display

* feat: add comment badge

* fix: ws connection

* fix: ws

* remove rvrse

* feat: add comment sidebar

* feat: add comment right sidebar

* fix: add missing foreign key elements

* - upgrade typeorm to 0.2.38
- comment sidebar ui
- added filter ui

* feat: on click of right sidebar notificaiton open the comment box

* reset engines

* fix: add organization id to the comment and thread module

* fix: add current version id

* add currentversion id

* disable comments if no id present

* temp:checking for heroku deploy

* fetch app on edit and deploy version

* rename current_version_id to app_versions_id

* ui fixes

* show mentioned user in blue color

* add ui changes

* add authorization for create thread

* change color to blue on click of comment, add auth for other endpoints of thread

* update threads, notifications using socket

* add auth for comments

* remove events spec file

* fix duplicate key error

* fix notificaitons updation on edit, delete, resolve buttons clicked

* update notifications for edit

* feature toggle changes for frontend

* add check for comments server

* add emoji mart package for emoji

* add reply count in comment sidebar

* subtract 1 from count in comment sidebar

* change empty text when no comments available
2021-11-01 12:58:03 +05:30
.github/ISSUE_TEMPLATE Fix typos in issue templates 2021-07-16 07:46:13 +05:30
.husky Setup husky and lint-staged 2021-04-30 15:40:48 +05:30
.vscode Fix linting errors across the app (#785) 2021-09-21 19:18:28 +05:30
cypress [Cypress] Fix existing tests on Editor (#728) 2021-09-15 08:21:56 +05:30
deploy Revert "Uses double quotes to expand expressions (#1000)" (#1180) 2021-10-21 13:02:55 +05:30
docker Minor correction for production dockerfile 2021-10-04 17:37:46 +05:30
docs Add image and GIF for Firestore datasource documentation (#1335) 2021-10-30 18:32:20 +05:30
frontend Feature: Collaboration ( realtime comments for canvas ) 🔥 (#810) 2021-11-01 12:58:03 +05:30
server Feature: Collaboration ( realtime comments for canvas ) 🔥 (#810) 2021-11-01 12:58:03 +05:30
.dockerignore Dev and deploy setup revision (#604) 2021-08-26 20:34:30 +05:30
.env.example Feature: Collaboration ( realtime comments for canvas ) 🔥 (#810) 2021-11-01 12:58:03 +05:30
.eslintignore Revert "Feature: Snowflake integration (#996)" (#1046) 2021-10-14 22:10:18 +05:30
.gitignore setup connection options using ormconfig.ts 2021-07-21 18:49:32 +05:30
.nvmrc Add nvmrc config file (#1117) 2021-10-18 09:00:01 +05:30
.version Bump ToolJet version 2021-10-25 22:29:49 +05:30
app.json Heroku stuffs 2021-07-30 09:21:18 +05:30
CONTRIBUTING.md Fixes typos (#1298) 2021-10-27 16:51:54 +05:30
cypress.json Cypress: Added 'createAppIfEmptyDashboard' method to before hook and fixed widget tests. (#704) 2021-09-12 09:52:29 +05:30
docker-compose.yaml Application logger using pino (#600) 2021-08-25 22:13:18 +05:30
LICENSE Switch to AGPL license (#854) 2021-09-28 12:37:26 +05:30
netlify.toml Chore: Add rewrite rules to netlify config (#294) 2021-06-22 23:20:08 +05:30
package-lock.json add lint-staged as dev deps and remove husky object from package.json (#1129) 2021-10-19 10:21:01 +05:30
package.json Feature: Collaboration ( realtime comments for canvas ) 🔥 (#810) 2021-11-01 12:58:03 +05:30
Procfile run db seed on heroku release 2021-08-03 09:46:55 +05:30
README.md GitHub typo lower case H (#1299) 2021-10-28 08:24:27 +05:30


Build and deploy internal tools

ToolJet is an open-source no-code framework to build and deploy internal tools quickly without much effort from the engineering teams. You can connect to your data sources, such as databases (like PostgreSQL, MongoDB, Elasticsearch, etc), API endpoints (ToolJet supports importing OpenAPI spec & OAuth2 authorization), and external services (like Stripe, Slack, Google Sheets, Airtable) and use our pre-built UI widgets to build internal tools.

Docker Cloud Build Status GitHub contributors GitHub issues GitHub stars GitHub closed issues GitHub pull requests GitHub release (latest by date) GitHub commit activity GitHub license

Features

  • Visual app builder with widgets, such as tables, charts, modals, buttons, dropdowns, and more.
  • Mobile 📱 & desktop layouts 🖥
  • Dark mode 🌛
  • Connect to databases, APIs, and external services.
  • Deploy on-premise (supports docker, kubernetes, heroku, and more)
  • Granular access control on organization-level and app-level.
  • Write JS code almost anywhere in the builder.
  • Query editors for all supported data sources.
  • Transform query results using JS code.
  • All the credentials are securely encrypted using aes-256-gcm.
  • ToolJet acts only as a proxy and doesn't store any data.
  • Support for OAuth.

Quickstart

The easiest way to get started with ToolJet is by creating a ToolJet Cloud account. ToolJet Cloud offers a hosted solution of ToolJet. If you want to self-host ToolJet, kindly proceed to deployment documentation.

You can deploy ToolJet on Heroku for free using the one-click-deployment button below.

Examples

Building a GitHub contributor leaderboard using ToolJet

Documentation

Documentation is available at https://docs.tooljet.io.

Branching model

We use the git-flow branching model. The base branch is develop. If you are looking for a stable version, please use the main branch or tags labeled as v1.x.x.

Contributing

Kindly read our Contributing Guide to learn and understand about our development process, how to propose bug fixes and improvements, and how to build and test your changes to ToolJet.

Contributors

Licence

ToolJet © 2021, ToolJet Solutions Inc - Released under the GNU General Public License v3.0.