Show HN: Open-source alternative to Retool, Internal.io, etc.
github.com
github.com
ToolJet is a no-code platform for building & deploying custom internal tools. ToolJet is built using Ruby on Rails and ReactJS. ToolJet can connect to existing data sources of companies such as databases, Google sheets, API endpoints, external services, and more. ToolJet's drag and drop app builder can quickly create UI widgets such as tables, charts, forms, etc and connect these widgets with the data from data sources.
I have been dabbling with the idea of ToolJet for a while. but the real progress happened over the last 7 weeks while I was in quarantine. One of my family members tested positive for covid and then came to the state-mandated lockdown. Not being able to step out of my home has been particularly hard, but nevertheless gave birth to ToolJet.
I believe that the tools that require access to sensitive data should be self-hosted ( data never leaves the premises) and open-source ( modify the software to fit organization-specific requirements ).
The goal is to build more connectors and widgets while ignoring features that will not makes sense for majority of the users. Example of a feature that's intentionally left out (for now) is the schema browser for databases.
Also, thanks for pointing out the typo, fixed it :)
It's an incredible space and solves a burning problem for engineers, IT teams and business users.
We're seeing major benefits of being open source, with the like of the NHS, Amazon, Deloitte and other major orgs choosing Budibase over proprietary alternatives, so I would say your decision to offer self-hosting was a good one.
As much as we are probably seen as competitors, I wish you well and I am happy to share notes if you would like a call?
Sure, would love to talk. Please send me an email so that we can schedule a call. ( navaneeth@tooljet.io )
I always appreciate when OSS projects put in effort to understand and position themselves in relation to competitors (or potential collaborators).
Also want to mention some open-source React visual drag and drop page editors that might be useful for inspiration or to eliminate possible duplicate work. There's OpenChakra [0] and Blocks [1], which are apps, and then there's craft.js, a library that aims to modularize "the building blocks of a page editor" and seems to have more emphasis on customizing the actual editor UI.
Best of luck to you both!
[0] https://github.com/premieroctet/openchakra [1] https://github.com/blocks/blocks [2] https://github.com/prevwong/craft.js
I want to do implementations for projects like this and trainings around it. There is so much power in these tools its amazing.
Can we talk too? andrew AT amescher.com
Here is an analysis of Tooljet development in the last 90 days
https://public-001.gitsense.com/insights/github/repos?q=wind...
I also did one for budibase as well
https://public-001.gitsense.com/insights/github/repos?q=wind...
Disclaimer: I'm the creator of GitSense
Thanks for commenting and yeah I do want to ensure everything is sans serif. I think I get a pass though, since I do have the beta label on the tool :-)
I really do want to index everything from meetings, emails, time between design docs and so forth. Indexing GitHub discussions is very important since it takes effort to engage people and I want to best capture effort so that developers can say "1 line of code" took more effort than you can imagine.
Thank you for your effort!
LoC invokes PTSD for many developers and I honestly want to do it right, which will take a bit effort and thinking on my part. For example, when providing LoC, I want to be able to break it down into useful information like (isolated code, used here and there) and so forth.
I want LoC to help us understand the significance of going from one revision to another, so that LoC can be used to help us drive actionable insights.
Edit: Just realized I never addressed your other points which is I do want to index and provide insights into everything in the software development lifecycle, it's just that I'm bound by resource constraints right now.
I'm really like this combined side scrolling table + graph component you use on the pulse page. Looking at the source I see a mention of echarts in the html but I don't think I've seen anything like that in their examples.
Did you build this yourself as a custom rendered chart or is this something that someone else built?
[0] - https://osschott.metabaseapp.com/public/dashboard/ece8baa7-7... [1] - https://github.com/lowdefy/lowdefy
You can install GitSense on your own infrastructure like your laptop if you want, but the license file will time out after 30 days. Once GitSense is out of Beta and I'm properly funded, I want to make GitSense free to use forever for small instances and opensource.
i have no idea what it's like to work on this problem for 2 years but really looking forward to see what you become. the youtube updates are super helpful btw pls keep that up
We're still in beta, and yet to launch to Hackernews, PH, etc, so looking forward to that over the next few months.
Looking forward to seeing where this goes over the next while!
I'd love to hear more about your use cases if you have the time:
calendly.com dash budibase
I'm not 100% happy with a project at work, where we're building out a jsonapi from a legacy rails app (part rewrite in-place, part move to react for front-end) - and after setting it up rswag with integration tests generating swagger schemas has been pretty nice. Not quite decided on what I think about activemodel::serializer... But it mostly works, without too much tweaking.
I've also adopted some ideas from:
https://github.com/guillaumebriday/jsonapi-scopes
For filtering/sorting - I think something like it should be in rails, really.
I only found one:
https://github.com/ToolJet/ToolJet/blob/develop/test/control...
The others appear to be empty scaffolds (which imnho is worse than no tests, really), eg:
https://github.com/ToolJet/ToolJet/blob/develop/test/control...
require "test_helper"
class FoldersControllerTest < ActionDispatch::IntegrationTest
# test "the truth" do
# assert true
# end
end
Same for empty model tests etc - I'd strongly encourage removing them - as they just add noise.Btw, if not doing tdd, time is probably better spent on integration tests than controller/model tests. Main challenge I've found with rails projects that were put in use with no tests, is there's a big effort to set up test data/fixtures from scratch. One option can sometimes be to just set up a test database with real data (database dump as a fixture).
> and I have recently setup Cypress for component testing
That's nice, and probably a good focus for a project like this.
Ed: as for mocking/integration testing apis - which might be useful here, there's "vcr": https://github.com/vcr/vcr
Check out Wappalyzer[0], it's an open source plug-in that tells you what technologies a website is using.
A bit of history - in the late 90s, you could (and we did) build a multi-million dollar product doing basic content management for plain old web pages. That heydey lasted a couple years before Wordpress and other such tools came around and basic CMS was more of a solved problem than a unique product.
The same has occurred over the years in multiple niches - a tool that would have been a terrific SaaS at one point gets built out, normalized, and well understood... to the point that it is no longer a unique value prop to just build a tool that solves problem X. You need to build the tool AND have some unique perspective and value prop that escalates it above all the others.
Low-code CRUD builders with DB integration and some basic workflow, reporting, and security now have hit that mark. There have always been big players in this market (Microsoft, IBM, Salesforce, etc.) It is good to see smaller players coming into their own in recent years, and this specific one is open source, which is a nice differentiator between it and many others.
I'm a founder of Appsmith, which Tooljet mentions in the GitHub project as an inspiration. https://github.com/appsmithorg/appsmith
We are an Apache 2.0 licensed internal apps builder that's being used by teams in Adobe, IBM, MSFT, Rappi, Swiggy, and 1000's of other companies.
Difference vs. other projects mentioned here: 1. Community edition is free for unlimited users 2. Great developer experience(local development, debugging, & Git sync is coming soon) 3. Pricing model will be usage based and not user based
PS: Small typo on the docs - https://docs.tooljet.io/docs/intro/
> but in case you are stuck, please feel to mail us:
ToolJet, NocoDB, fabrica.dev are all projects I've found recently in this space.
I've been really thinking a lot about how to bring tools like this to businesses and make them useful. I still think there's a lot of training and material needed to make these ultimately powerful. Love Open Source!
Congrats on the launch! How do you plan to monetize this on the long term - if you are? Premium plugins? Fully managed paid hosted version?
How do you sandbox custom js code. Can we choose if it runs on the front-end or server-side?
Most of the low-code opensource builders seems to run it on a sandbox in the frontend using realms..but this is not great if a screen needs to perform calculations that affect financial data like a mini POS, tax calc etc
https://blog.appsmith.com/evaluating-js-in-the-browser-for-a...
Got a question. What do you think, is it possible to create internal tools as desktop apps that doesn't need servers/internet connection? I understand that your product is web based, so doesnt have such desktop-app feature. Can you recommend any no-code tool for building desktop based apps?
Do you want to restrict access? If so easiest should be to put a load balancer (For example haproxy, or whatever you use already) with auth
we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary
and:
if you distribute copies of such a program, whether gratis or for a fee, [...] You must make sure that they, too, receive or can get the source code
So, given that the GPL says these things, and the author has selected the GPL for this project, by a reasonable guess the answer to your question is, "people who would otherwise do/not do those things".
Rather than adding a TODO item onto the list of the person who has already gifted this to us, where that item would involve the labor of enumerating over a set of scenarios, composing a response to you, and hoping that it answers your question, how about helping both them and yourself by inverting the workload and elaborating on what you mean?
GPLv3 doesn't prevent anyone from using the covered software. Who do you think is prevented from using this? Do you consider the GPL to be a bad choice for some other reason, and you think there is a compelling reason to do something else? What are those reasons?
And ultimately, this is software that is being provided to you, generously, at no cost, and the author has gone out of their way to let you do stuff with it that you otherwise wouldn't be able to do. If it doesn't suit you and you don't want to "give more of a look into it", then don't.
Without that, it sounds like you’re spreading FUD about GPL.