Build & deploy internal tools in minutes without code
The world needs a product that can build amazing internal tools at record speed without writing a single line of code.
Found 6 companies that are ready to evaluate ToolJet. All of these companies are heavily funded or have huge revenue figures.
Customer use cases: Job application tracing tool, content moderation tool, Redis GUI, trainer availability tracking tool.
New connectors:
Cloud Firestore, Redis
New features:
Version control
Loading states for most of the components
Connection pooling for data sources
OAuth2 integration
Table columns can now be resized
Components for multi-select, dropdowns, checkboxes, date/time pickers, rich text editor, etc
Found 6 companies that are ready to evaluate ToolJet. All of these companies are heavily funded or have huge revenue figures.
Customer use cases: Job application tracing tool, content moderation tool, Redis GUI, trainer availability tracking tool.
New connectors:
Cloud Firestore, Redis
New features:
Version control
Loading states for most of the components
Connection pooling for data sources
OAuth2 integration
Table columns can now be resized
Components for multi-select, dropdowns, checkboxes, date/time pickers, rich text editor, etc
Replaced the tables with react-table. Tables can now support:
a) Global search
b) Sorting by column
c) Client-side pagination
Also changed the layout used for tables to include the additional features.
Every component can be resized from the visual editor by dragging.
My goal was to integrate with Stripe API. I made a new component that can parse the OpenAPI spec document and generate requests from that. The product now has the ability to talk to any service that has implemented OpenAPI spec.
Added load state for queries and tables. whenever a query is being run, a dynamic variable isLoading is set to true, and thus the table can show a loading skeleton.
Current status:
Achieved the first major use case milestone:
i) Pull customer data from a PostgreSQL database.
ii) when an action button is clicked, a stripe query is triggered to fetch all subscriptions for the customer, and this data is displayed in another table.
iii) The "cancel subscription" action buttons of the second table trigger a stripe query to cancel the subscription.
a) Data sources were introduced:
ToolJet can now connect to PostgreSQL, MySQL databases.
ToolJet can now connect to REST APIs
b) Queries were introduced:
Connected data sources can be queried using predefined queries
c) Dynamic variables were introduced:
For example, the output of a query can be accessed as {{queries.customer_query.data}}
d) Events and actions were introduced:
Events: onClick for button component, onRowClicked for tables.
Actions: Show an alert, run a query
e) Action buttons for tables:
Buttons can be added to the table component, these buttons will be shown in the last column of the table and can be used to trigger queries, alerts, etc.
I was able to build a basic drag and drop UI builder for building the internal tools. Added a few basic components: Table, Button, Text Input, Text & Image. The components can be dragged to the canvas and can be dragged again to adjust the position. An inspector view was also added to change the properties of the components such as: adding columns to table components and mapping data, adding on-click actions for buttons.
Now the product can build and render the tools with basic components.
I was working with a huge enterprise that had a bunch of simple internal tools. I experienced difficulty in building, deploying, and making changes to these tools. Sales/support/admin teams need these internal tools badly but developers are least interested in prioritizing the changes requested. And then I decided to build this. Had to wait until the end of March to finish a project I was working on with one of my friends.
I started by building the basic feature that every product needs, such as organizations, users, authentications, authorization, and then moved on to one of the core parts of the product: the visual UI builder.
The world needs a product that can build amazing internal tools at record speed without writing a single line of code.