* basic and static join query executed * tooljetDB Join operation flow - work inprogress * complete flow for tooljetdb join pending testing and minor changes * updated constructHavingStatement method logic to support aggregation function and added comments * worki in progress tooljetDB Join * feat: added basic layout for tjdb join fields * feat: dropdown support for icons * feat: working on where condition ui in join * feat: added base layout for filter and sort in tooljetdb join * feat: added multi select support and minor style changes * feat: support default value for selectbox * feat: dd select styling added * style: override vanilla dd select styles with tj styles * fix: fixed minor UI issues in select box * feat: added select section layout * feat: added hooks state for join options * feat: load all added tables columns * feat: working on where section logic * feat: join constraints UI * feat: filter condition dropdowns added * feat: join widget for join query op in tjdb * feat: sort section base UI * feat: select widget for join query in tjdb * feat: filter section add option and delete option done * feat: update filter condition logic added * feat: added onchange event for operator and rhs values update * feat: added sort dropdown for tjdb join * feat: base logic for Filters in join query * fix: removed comments and added validation for fetching table details * feat: add limit option logic * feat: backend api has been integrated for tooljetdb joins * added icons to solid icons * fix: jsconfig auto save lint fix * fix: update from table when selected table changes * feat: added from to join table options in tjdb dq * fix: added fetching tables list for JSON in backend * fix: fixed json data for join query * fix: temp fix for fields with empty object * feat: added icon support for dd select * fix: added default state to avoid error in conditionlist * fix: limit tables selection to already joined tables in tjdb join * fix: empty values to orderBy, filters and limit will remove the option from json * fix: in json first level empty value scenario has been handled * fix: select in tooljetdb join query can have multiple columns with same name handled by adding prefix tablename_ to the column name * fix: restrict selectable tables in join contraints * feat: reset join constraints when invlaid joins added * fix: empty values will not be allowed UI validation * fix: codehinter border has been removed * fix: recalculate join data when join tables change * fix: corrected options length calc for showing search box * fix: filter table dropdown must contain only selected tables from join section * fix: empty values validation has been removed * fix: add from attribute to join options * fix: alias is added to all the table column * feat: selected option in Select section will be at the top * fix: reset joins when selected table changed * fix: drop down focus ui * feat: autoselect all columns by defualt for join select * feat: restrict column selection to same datatype * fix: removed blank table names from select * feat: added tooltip for info * fix: removed duplicate tooltip * fix: add button in table dropdown * fix: added from table object back * feat: tjdb join select dropdown select all cols by default * fix: add new table button name corrected * feat: no table selected error message * feat: add select style for select dropdown * style: updated dropdown select style to match new theme * feat: added alert modal for deleting joins * feat: hardcode operator since once one option available at the moment * style: fix icon styles for dropdown * feat: created reusable confirm dialogue * fix: fixed bug for nested dropdowns * fix; cache select components to prevent unnecessory rerenders * feat: reused the common popup on updating the tables * fix: info popup will trigger only if table is already exists * fix: fixed bug that caused edit to break for tjdb join * style: fixed spacing for tjdb join components * fix: select section all options cant be deselected issue fixed * fix: add info icon for empty filter and sort component * feat: offset fature for joins has been added * fix: layout fixed to incorporate filter dropdown with text * fix: basic validation in UI for mandatory and non-mandatory fields * feat: more options added for filter in joins * fix: added filter option for regular expression * fix: fixed wrong autoupdate of join fields * style: updated badge color w.r.t theme * fix: removed the commented code * style fixes * refactor: changed tooljetdb join logic based on tableId instead of name * fix: joins table value is not been shown after save * fix: CSS design fix and removed not required commented codes * feat: tableid to table name mapping in error * fix: errors will be shown in the debugger for tooljetdb join * stylefix: container for join sort and select made full width * stylefix: changed CTA test in popup spacing issue adjusted * fix: few PR review comments to refactor has been done * fix:random id generator has been removed and uuid has been used * feat: Select all functionality in Select Drop down has been added * fix: first time AND operator has been removed * fix:Sort Section - Removed table were listed in the drop down * fix: add more in join section deleting newly created joins * fix: select section total selected count was wrong * stylefix: dropdown menu height has been reduced * fix: sort section on join query will have prefix table name along with column name * feat: changed the select drop down with add new table option * fix: center align text only for join operator drop down * fix join icons to be centred * reduce chevron icon size * fix:error handling by status code * feat: added placeholder for empty select box * fix: fixed the PR comments * stylefix:multi select with checkbox will not have tick and bgcolor * stylefix: codehinter doesnt expand entire row content * stylefix: codehinter placeholder is center aligned scroll has been removed and overflow content has been handled * stylefix: codehinter font size made to 12 * feat: offset option for list rows in tjdb query * inprogress: tjdb joins tables must be exported * Updated cypess mysql spec (#7717) * fix: import app missed the tjdb tables in join query --------- Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com> Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com> Co-authored-by: Mekhla Asopa <59684099+Mekhla-Asopa@users.noreply.github.com> |
||
|---|---|---|
| .do | ||
| .github | ||
| .husky | ||
| .vscode | ||
| cli | ||
| cypress-tests | ||
| deploy | ||
| docker | ||
| docs | ||
| frontend | ||
| marketplace | ||
| plugins | ||
| server | ||
| .dockerignore | ||
| .env.example | ||
| .eslintignore | ||
| .gitattributes | ||
| .gitignore | ||
| .nvmrc | ||
| .slugignore | ||
| .version | ||
| app.json | ||
| Aptfile | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| dependabot.yml | ||
| docker-compose.yaml | ||
| heroku-postbuild.sh | ||
| LICENSE | ||
| netlify.toml | ||
| package-lock.json | ||
| package.json | ||
| Procfile | ||
| README.md | ||
| render.yaml | ||
| SECURITY.md | ||
| update-version.js | ||
ToolJet is an open-source low-code framework to build and deploy internal tools with minimal engineering effort. ToolJet's drag-and-drop frontend builder allows you to create complex, responsive frontends within minutes. Additionally, you can integrate various data sources, including databases like PostgreSQL, MongoDB, and Elasticsearch; API endpoints with OpenAPI spec and OAuth2 support; SaaS tools such as Stripe, Slack, Google Sheets, Airtable, and Notion; as well as object storage services like S3, GCS, and Minio, to fetch and write data.
⭐ If you find ToolJet useful, please consider giving us a star on GitHub! Your support helps us continue to innovate and deliver exciting features.
All features
- Visual App Builder: 40+ built-in responsive components, including Tables, Charts, Lists, Forms, and Progress Bars.
- ToolJet Database: Built-in no-code database.
- Multi-Page: Build an application with multiple pages.
- Multiplayer editing: Allows simultaneous app building by multiple developers.
- 40+ data sources: Integrate with external databases, cloud storage, and APIs.
- Desktop & mobile: Customize layout widths to fit various screen sizes.
- Self-host: Supports Docker, Kubernetes, Heroku, AWS EC2, Google Cloud Run, and more.
- Collaborate: Add comments anywhere on the canvas and tag your team members.
- Extend with plugins: Use our command-line tool to easily bootstrap new connectors.
- Version control: Manage multiple application versions with a structured release cycle.
- Run JS & Python code: Execute custom JavaScript and Python snippets.
- Granular access control: Set permissions at both group and app levels.
- Low-code: Use JS code almost anywhere within the builder, such as setting text color based on status with
status === 'success' ? 'green' : 'red'. - No-code query editors: Query Editors are available for all supported data sources.
- Join and transform data: Transform query results using JavaScript or Python code.
- Secure: All the credentials are securely encrypted using
aes-256-gcm. - Data Privacy: ToolJet serves solely as a proxy and does not store data.
- SSO: Supports multiple Single Sign-On providers.
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 using one-click deployment.
Try using Docker
Want to give ToolJet a quick spin on your local machine? You can run the following command from your terminal to have ToolJet up and running right away.
docker run \
--name tooljet \
--restart unless-stopped \
-p 80:80 \
-v tooljet_data:/var/lib/postgresql/13/main \
tooljet/try:latest
Tutorials and examples
Time Tracker Application
Build your own CMS using low-code
AWS S3 Browser
Documentation
Documentation is available at https://docs.tooljet.com.
Self-hosted
You can use ToolJet Cloud for a fully managed solution. If you want to self-host ToolJet, we have guides on deploying ToolJet on Kubernetes, AWS EC2, Docker, Heroku, and more.
| Provider | Documentation |
|---|---|
| Digital Ocean | Link |
| Docker | Link |
| Heroku | Link |
| AWS EC2 | Link |
| AWS ECS | Link |
| OpenShift | Link |
| Helm | Link |
| AWS EKS (Kubernetes) | Link |
| GCP GKE (Kubernetes) | Link |
| Azure AKS (Kubernetes) | Link |
| Azure Container | Link |
| Google Cloud Run | Link |
| Deploying ToolJet client | Link |
| Deploying ToolJet on a Subpath | Link |
Marketplace
ToolJet can now be found on both AWS and Azure Marketplaces, making it simpler than ever to access and deploy our app-building platform.
Find ToolJet on AWS Marketplace here and explore seamless integration on Azure Marketplace here.
Community support
For general help using ToolJet, please refer to the official documentation. For additional help, you can use one of these channels to ask a question:
- Slack - Discussions with the community and the team.
- GitHub - For bug reports and feature requests.
- 𝕏 (Twitter) - Get the product updates quickly.
Roadmap
Check out our roadmap to stay updated on recently released features and learn about what's coming next.
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 familiarize yourself with ToolJet's development process, how to suggest bug fixes and improvements, and the steps for building and testing your changes.
Contributors
License
ToolJet © 2023, ToolJet Solutions Inc - Released under the GNU Affero General Public License v3.0.