ToolJet
Low-code platform for building business applications. Connect to databases, cloud storages, GraphQL, API endpoints, Airtable, Google sheets, OpenAI, etc and build apps using drag and drop application builder. Built using JavaScript/TypeScript. 🚀
Top Related Projects
🔥 🔥 🔥 Open Source Airtable Alternative
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
The flexible backend for all your projects 🐰 Turn your DB into a headless CMS, admin panels, or apps with a custom UI, instant APIs, auth & more.
The open source Firebase alternative. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications.
Create business apps and automate workflows in minutes. Supports PostgreSQL, MySQL, MariaDB, MSSQL, MongoDB, Rest API, Docker, K8s, and more 🚀 No code / Low code platform..
Quick Overview
ToolJet is an open-source low-code platform for building and deploying internal tools quickly. It allows users to create custom applications with a drag-and-drop interface, connecting to various data sources and APIs without extensive coding knowledge.
Pros
- Easy-to-use visual interface for building applications
- Supports integration with multiple databases and APIs
- Customizable with JavaScript for advanced functionality
- Self-hosted option available for better data control and security
Cons
- Limited compared to full-fledged development environments
- May require some technical knowledge for complex integrations
- Community and ecosystem smaller than some established alternatives
- Performance may be affected for very large-scale applications
Getting Started
To get started with ToolJet, follow these steps:
-
Clone the repository:
git clone https://github.com/ToolJet/ToolJet.git
-
Navigate to the ToolJet directory:
cd ToolJet
-
Install dependencies:
npm install
-
Set up environment variables:
cp .env.example .env
-
Start the development server:
npm run start:dev
-
Open your browser and navigate to
http://localhost:8082
to access the ToolJet dashboard.
For more detailed instructions and deployment options, refer to the official documentation in the repository.
Competitor Comparisons
🔥 🔥 🔥 Open Source Airtable Alternative
Pros of NocoDB
- More flexible data modeling with support for complex relationships and views
- Built-in user management and role-based access control
- Extensive API support, including REST and GraphQL endpoints
Cons of NocoDB
- Less focus on visual app building and UI components
- Steeper learning curve for non-technical users
- Limited integration options compared to ToolJet's extensive connector library
Code Comparison
NocoDB (SQL query example):
SELECT * FROM users
WHERE age > 18
ORDER BY last_name ASC
LIMIT 10;
ToolJet (JavaScript query example):
const users = await tooljet.runQuery('getUsers');
const filteredUsers = users.filter(user => user.age > 18);
const sortedUsers = filteredUsers.sort((a, b) => a.lastName.localeCompare(b.lastName));
return sortedUsers.slice(0, 10);
Both repositories offer low-code solutions for building internal tools and applications. NocoDB focuses on creating powerful database applications with a spreadsheet-like interface, while ToolJet emphasizes visual app building with drag-and-drop components and extensive integrations. NocoDB excels in data modeling and management, making it suitable for complex database-driven applications. ToolJet, on the other hand, provides a more user-friendly interface for creating interactive dashboards and tools with minimal coding required.
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
Pros of n8n
- Extensive library of pre-built integrations and nodes
- Highly flexible workflow automation capabilities
- Self-hosted option for enhanced data privacy and control
Cons of n8n
- Steeper learning curve for non-technical users
- Less focus on visual app building compared to ToolJet
Code Comparison
n8n workflow example:
const items = inputItems.map(item => ({
name: item.json.name,
age: item.json.age * 2,
status: item.json.age > 30 ? 'senior' : 'junior'
}));
return {json: {processedItems: items}};
ToolJet query example:
const users = await queries.runQuery('get_users');
const processedUsers = users.map(user => ({
name: user.name,
age: user.age * 2,
status: user.age > 30 ? 'senior' : 'junior'
}));
return processedUsers;
Both examples demonstrate data processing capabilities, with n8n focusing on workflow automation and ToolJet on app-specific queries. n8n's code is more oriented towards general-purpose data transformation, while ToolJet's example shows integration with its query system for building interactive applications.
The flexible backend for all your projects 🐰 Turn your DB into a headless CMS, admin panels, or apps with a custom UI, instant APIs, auth & more.
Pros of Directus
- More flexible data modeling and API customization
- Built-in user management and role-based access control
- Extensive documentation and active community support
Cons of Directus
- Steeper learning curve for non-technical users
- Less focus on visual app building compared to ToolJet
- May require more setup and configuration for complex use cases
Code Comparison
Directus API endpoint example:
app.get('/items/:collection', (req, res) => {
const { collection } = req.params;
const items = await directus.items(collection).readMany();
res.json(items);
});
ToolJet query example:
const query = await actions.runQuery('get_items', { collection: 'users' });
const items = query.data;
While both projects offer powerful features for building data-driven applications, Directus focuses more on headless CMS capabilities and API-first development, whereas ToolJet emphasizes visual app building and rapid prototyping. Directus provides greater flexibility in data modeling and API customization, but may require more technical expertise. ToolJet offers a more user-friendly interface for creating applications quickly, but may have limitations in complex data scenarios compared to Directus.
The open source Firebase alternative. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications.
Pros of Supabase
- More comprehensive backend solution, offering authentication, storage, and real-time subscriptions
- Stronger focus on developer experience with extensive documentation and SDKs
- Larger community and ecosystem, leading to more resources and third-party integrations
Cons of Supabase
- Steeper learning curve for beginners due to its broader feature set
- Less flexibility in terms of customization compared to ToolJet's open-source nature
- May be overkill for simple projects that don't require all of Supabase's features
Code Comparison
ToolJet (JavaScript):
const query = await app.executeQuery('users_table');
const users = query.data;
users.forEach(user => {
console.log(user.name);
});
Supabase (JavaScript):
const { data: users, error } = await supabase
.from('users')
.select('name');
users.forEach(user => {
console.log(user.name);
});
Both examples demonstrate querying a users table and logging names. Supabase's approach is more declarative and database-oriented, while ToolJet's method is more abstracted and potentially easier for non-developers to understand.
Create business apps and automate workflows in minutes. Supports PostgreSQL, MySQL, MariaDB, MSSQL, MongoDB, Rest API, Docker, K8s, and more 🚀 No code / Low code platform..
Pros of Budibase
- More flexible data modeling with support for custom databases and APIs
- Stronger focus on enterprise features like role-based access control
- Better documentation and community resources
Cons of Budibase
- Steeper learning curve for beginners
- Less extensive integration options compared to ToolJet
- Self-hosted version requires more setup and maintenance
Code Comparison
Budibase component definition:
export default {
name: "MyComponent",
props: {
title: String,
},
template: `<div>{{ title }}</div>`,
}
ToolJet component definition:
export default {
name: 'MyComponent',
properties: [
{ name: 'title', type: 'string' }
],
render: (props) => {
return <div>{props.title}</div>;
}
}
Both platforms use component-based architectures, but Budibase leans more towards Vue.js-style syntax, while ToolJet uses React-like JSX. Budibase's approach may be more familiar to Vue developers, while ToolJet's might appeal to React developers. The overall structure and concept are similar, with slight differences in syntax and property definitions.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
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.
:star: 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: 45+ 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.
- 50+ 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, 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 DigitalOcean 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 \
--platform linux/amd64 \
-v tooljet_data:/var/lib/postgresql/13/main \
tooljet/try:ee-lts-latest
For users upgrading their ToolJet version, we recommend choosing the LTS version over the latest version. The LTS version ensures stability with production bug fixes, security patches, and performance enhancements.
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, and more.
Provider | Documentation |
---|---|
Digital Ocean | Link |
Docker | 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.
Top Related Projects
🔥 🔥 🔥 Open Source Airtable Alternative
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
The flexible backend for all your projects 🐰 Turn your DB into a headless CMS, admin panels, or apps with a custom UI, instant APIs, auth & more.
The open source Firebase alternative. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications.
Create business apps and automate workflows in minutes. Supports PostgreSQL, MySQL, MariaDB, MSSQL, MongoDB, Rest API, Docker, K8s, and more 🚀 No code / Low code platform..
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot