10 ms·
Show HN: Open-source alternative to Retool, Internal.io, etc.
- navaneethpk 5y agoFounder here, 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 ).
- samfisher83 5y agoAppsmith is also open source, but this looks great. Can't believe you knocked it out in 7 weeks.
- pplonski86 5y agoSame here, the website and product looks impressive. @navaneethpk how many hours a day have you been coding? Do you use some ready templates or boilerplates?
- navaneethpk 5y ago8-10 hours a day :) Using Tabler for builiding the user interface helped me speed up the development.
- seeekr 5y agoImpressive amount of work for 7 weeks! Looking forward to trying it out, super welcome tool!
- stanislavb 5y agoIt demonstrates what a skilled Rails developer can achieve by himself. It’s not a surprise that so many successful startups are still built with Ruby on Rails regularly.
- jawns 5y agoCan you give a brief breakdown of what features are the same between ToolJet and a service like Retool, what features are different, which ones are intentionally left out, and how close to feature parity you're hoping to get?
- navaneethpk 5y agoThere are many similar features such as: a) The ability to fetch & merge data from multiple data sources b) Widgets such as tables, charts & forms 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 :)
- foxbee 5y agoWow! Building this in 7 weeks is an incredible feat. I am the cofounder of Budibase - an open source alt to Retool, Mendix, Outsystems - and have been building it for around 2 years now. 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? https://github.com/Budibase/budibase https://github.com/Budibase/budibase
- navaneethpk 5y agoThanks :) Sure, would love to talk. Please send me an email so that we can schedule a call. ( navaneeth@tooljet.io )
- foxbee 5y agoawesome. I'll ping you later
- alexkreidler 5y agoWould you two be able to share some take-aways from that conversation at some point? Maybe write up a short comparison of the projects as they are now and any differences in roadmap/vision that could be relevant. 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 https://github.com/premieroctet/openchakra [1] https://github.com/blocks/blocks https://github.com/blocks/blocks [2] https://github.com/prevwong/craft.js https://github.com/prevwong/craft.js
- Artistry121 5y ago
- e12e 5y agoThis looks very interesting... But no tests? 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 https://github.com/guillaumebriday/jsonapi-scopes For filtering/sorting - I think something like it should be in rails, really. Rswag: https://github.com/rswag/rswag https://github.com/rswag/rswag
- navaneethpk 5y agoRswag looks cool, will try it out. There are tests for rails controllers and I have recently setup Cypress for component testing, will be focusing on tests the coming days.
- e12e 5y ago> There are tests for rails controllers I only found one: https://github.com/ToolJet/ToolJet/blob/develop/test/controllers/folder_apps_controller_test.rb 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/controllers/folders_controller_test.rb 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 https://github.com/vcr/vcr
- victor106 5y agoThis looks cool. What did you use to generate the documentation? https://docs.tooljet.io/docs/intro/ https://docs.tooljet.io/docs/intro/
- theturtletalks 5y agoLooks like Docusaurus. Check out Wappalyzer[0], it's an open source plug-in that tells you what technologies a website is using. 0. https://github.com/AliasIO/wappalyzer https://github.com/AliasIO/wappalyzer
- navaneethpk 5y agoDocusaurus - It's easy to customise and good enough even without customisations.
- ianpurton 5y agoAny ideas how you will differentiate yourself from Appsmith? (which looks similar but more developed)
- ishikawa 5y agoThat is a very great job. Congrats! My feedback is to make it flexible on charts and easy to create admin panels.
- AYBABTME 5y agoBefore I could give more of a look into it, the license jumped at me. What's the idea behind using GPLv3? Who do you want to enable to use this, versus whom are you trying to prevent from using this?
- deleted 5y ago[deleted]
- cxr 5y agoGPLv3 has an elaborate preamble, which should be able to answer some of your questions. In particular, wrt "whom are you trying to prevent from using this", it mentions things such as: 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.
- pavlov 5y agoMaybe your question should be more specific. What use case do you have for this project that you believe might be inconvenienced by GPL? Without that, it sounds like you’re spreading FUD about GPL.
- pplonski86 5y agoCongratulations on launch! 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?
- navaneethpk 5y agoBudibase have a desktop app, not sure if the apps built can run without internet.
- FractalHQ 5y agoThey just phased it out to focus on the browser version iirc
- krishvs 5y agoLooks great! 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
- hetunandu 5y agoIs the concern with running JS on the client side regarding security? At Appsmith we run user code inside a worker to avoid malicious code from accessing many browser apis. We also plan to add the ability to run the JS code on the server and have it run via web hooks for automation use cases. I wrote how we do it at Appsmith a few months back: https://blog.appsmith.com/evaluating-js-in-the-browser-for-a-low-code-product https://blog.appsmith.com/evaluating-js-in-the-browser-for-a...
- hliyan 5y ago"Setup" goes to 404: https://docs.tooljet.io/docs/setup/architecture https://docs.tooljet.io/docs/setup/architecture
- navaneethpk 5y agoAplogies, please use this link: https://docs.tooljet.io/docs/deployment/architecture https://docs.tooljet.io/docs/deployment/architecture I recently changed the structure of documentation, probably forgot to change the url somewhere. Will fix it in a while.
- debarshri 5y agoThis goes in an infinite loop now.
- deleted 5y ago[deleted]
- deleted 5y ago[deleted]
- deleted 5y ago[deleted]
- deleted 5y ago[deleted]
- SemiNormal 5y agoSo this is like a web version of Filemaker?
- Artistry121 5y agoThis space is very hot right now. This looks amazing. I can't wait to use it. 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!
- dreamer7 5y agoWe definitely need good reviews comparing all the different options. Hard to know the pros and cons of each solution quickly. Appsmith, Saltcorn, Budibase were three others I came across today
- arey_abhishek 5y agoPretty cool project to build in 7 weeks! Congratulations! Your lockdown has been way more productive than for some of us. I'm a founder of Appsmith, which Tooljet mentions in the GitHub project as an inspiration. https://github.com/appsmithorg/appsmith 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
- dreamer7 5y agoCongratulations on the launch! What would you say is the main reasons why one should choose you over other open source solutions like Appsmith and Budibase? PS: Small typo on the docs - https://docs.tooljet.io/docs/intro/ https://docs.tooljet.io/docs/intro/ > but in case you are stuck, please feel to mail us:
- codingdave 5y agoI feel like low-code apps like this have hit commodity level. 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.
- ishikawa 5y agoFor me the problem is that they usually don't reach a good maturity level, but the idea in my opinion is very important. To mention the 90s again, you could do in one day an internal app using MS Access. Now if you want it with web interface, you have to think about front-end, back-end, database, devops. It is just too much for when you want a simple thing.
- orliesaurus 5y agoHey @navaneethpk, 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?
- sam0x17 5y agoFor people in the ruby/rails/active record ecosystem, rails_admin as always remains a fantastic choice
- replwoacause 5y agoGood job navaneethpk, this looks really nice!
- thedangler 5y agoIs there a way to deploy a tool to end users only? Say I build something with this system, but I want to give end users read access only on my website or backend system?
- 3np 5y agoCan you reformulate that? I’ve read this several time and still not sure what you are asking for. 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
- deleted 5y ago[deleted]
- gervwyk 5y agoCongrats on the launch! This is really cool. We created Lowdefy [0] to build similar apps but with a "no-gui" approach. I have great respect for how much work this is. Even the website looks great! [0] - https://github.com/lowdefy/lowdefy https://github.com/lowdefy/lowdefy
- maxdo 5y agoIs there anything similar with nodejs backend ? Having ruby is a big downside since you need extra engineer with ruby knowledge in the team.
- abol3z 5y agobudibase and lowdefy
- csabakissi 5y agoI've used Retool at my old job and it's one awesome platform. Does Tooljet support also MySQL?