6 ms·
Founder here, ToolJet is a no-code platform for building & deploying custom internal tools. ToolJet is built using Ruby on Rails and ReactJS. ToolJet can conne
by navaneethpk 5y ago
Founder 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.