‹ Reports
The Dispatch

GitHub Repo Analysis: ToolJet/ToolJet


Executive Summary

ToolJet is an open-source low-code platform designed to simplify the creation of internal business applications. It supports a wide range of data integrations and offers both cloud-based and self-hosted deployment options. The project is actively maintained by a large community and is popular among developers. Currently, ToolJet is in a robust state with frequent updates and a trajectory focused on enhancing user experience and expanding functionality.

Recent Activity

Team Members and Activities

  1. Johnson Cherian (johnsoncherian): Merged PRs related to documentation updates for data sources.
  2. Pratik Agrawal (RudraPratik30): Focused on documentation enhancements and server-side operations.
  3. Souvik (Slancerk): Updated setup guides with debugging configurations.
  4. Anas Khafaga (anasKhafaga): Enabled Docker debugging.
  5. Aman Regu (amanregu): Contributed to platform documentation and style improvements.
  6. Jorge Sanchez (JorgeSanchez-Encora): Added Spanish translations.
  7. Karan Rathod (karan-rathod-316): Updated ToolJet concepts documentation.
  8. Sarath Kumar Somana (sarathsomana): Added a new plugin to the marketplace.
  9. Rudhra Deep Biswas (rudeUltra): Worked on bug fixes related to app sharing.
  10. Midhun G S (gsmithun4): Involved in version updates and bug fixes.
  11. Muhsin Shah C P (shah21): Improved onboarding flow and fixed SSO login issues.
  12. Rohan Lahori (rohanlahori): Focused on app sharing bug fixes.
  13. Anantshree Chandola (AnantshreeChandola): Implemented features related to secret constants.
  14. Nakul Nagargade (nakulnagargade): Fixed datepicker default value issue.

Patterns and Themes

Risks

Of Note

Quantified Reports

Quantify issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 11 2 43 2 1
30 Days 34 17 82 8 1
90 Days 180 72 272 11 5
All Time 4289 3526 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Rate pull requests



2/5
The pull request primarily involves minor changes to documentation files, including the addition of emojis and slight wording adjustments. While these changes may enhance readability and engagement, they are not significant or impactful enough to warrant a high rating. The PR does not introduce any new features, bug fixes, or substantial improvements to the codebase. Additionally, the CLA is not signed, which is a procedural issue that needs resolution before acceptance. Overall, this PR is trivial and lacks substantial contribution to the project.
[+] Read More
3/5
The pull request primarily focuses on documentation updates, including formatting and content changes. While these changes improve clarity and consistency in the documentation, they are not particularly significant or complex. The PR does not introduce any new features or bug fixes, and the changes are mostly textual. Given the nature of the updates, a rating of 3 is appropriate as it reflects an average contribution that is helpful but not substantial or innovative.
[+] Read More
3/5
The pull request updates documentation for the vertical divider component, improving clarity and detail. However, it is a minor change with no significant impact on the codebase or functionality. The changes are mostly textual and stylistic, refining descriptions and formatting. While important for user understanding, such documentation updates are generally considered average unless they address critical misunderstandings or omissions. The PR passes all quality checks and has no security issues, but its scope is limited to documentation enhancements.
[+] Read More
3/5
The pull request updates documentation for the Text Editor component, making minor improvements in clarity and consistency. While these changes enhance readability, they are not significant or complex enough to warrant a higher rating. The update is straightforward, involving mostly rephrasing and formatting adjustments without introducing new content or addressing critical issues. Thus, it is an average PR with no major flaws but also lacking substantial impact.
[+] Read More
3/5
This pull request focuses on updating the documentation for the Timeline component, enhancing clarity and consistency. While it improves the introduction, formatting, and layout, these changes are primarily cosmetic and do not introduce significant new content or features. The PR is well-structured and follows style guidelines, but its impact is limited to documentation improvements without affecting the core functionality of the software. Therefore, it is an average contribution, meriting a rating of 3.
[+] Read More
3/5
This pull request makes necessary updates to documentation, improving clarity and consistency by adjusting formatting and terminology. While these changes are beneficial for maintaining up-to-date documentation, they are relatively minor and do not introduce new features or significant improvements to the software itself. The PR is well-executed but remains within the scope of routine documentation maintenance, warranting an average rating.
[+] Read More
3/5
The pull request introduces a new documentation guide for serverside pagination in ToolJet, which is a useful addition for users. However, it primarily involves adding new documentation and images without any significant code changes or improvements to the core functionality. The documentation is clear and provides step-by-step instructions, but there are minor typographical errors in the image filenames ('pagiation' instead of 'pagination'). While the PR passes quality checks and does not introduce security issues, it lacks the depth or impact required for a higher rating. Overall, it is an average contribution focused on documentation.
[+] Read More
3/5
This pull request introduces a new documentation page for server-side filtering operations in ToolJet, which is a useful addition to the existing documentation. The PR includes detailed steps and code examples, making it easy for users to follow. However, it primarily consists of documentation changes without any significant code modifications or enhancements to the core functionality of the application. While the documentation is clear and well-structured, it does not introduce any groundbreaking features or improvements, thus warranting an average rating.
[+] Read More
3/5
This pull request updates the documentation for the Toggle Switch component by making minor formatting changes and restructuring some sections for clarity. While it improves the readability of the documentation, the changes are not significant or groundbreaking. The PR does not introduce new features or fix critical issues, thus it is an average update that aligns with typical documentation maintenance tasks.
[+] Read More
4/5
The pull request addresses multiple backlog issues by enhancing user interface and search functionality, improving error handling, and adding user redirection on permission errors. The changes are well-focused on improving user experience, which is commendable. However, the lack of unit tests for the new features is a notable omission that prevents a higher rating. Overall, it is a significant and thorough improvement to the frontend components.
[+] Read More

Quantify commits



Quantified Commit Activity Over 14 Days

Developer Avatar Branches PRs Commits Files Changes
Pratik Agrawal 16 25/11/3 45 251 12500
Aman Regu 4 5/5/0 36 54 8505
Muhsin Shah C P (shah21) 1 2/3/0 3 151 4250
Sarath Kumar Somana 1 0/0/0 1 15 4197
Anantshree Chandola (AnantshreeChandola) 2 1/1/0 3 27 1547
Rohan Lahori (rohanlahori) 4 9/6/1 12 32 929
Karan Rathod 2 2/2/0 3 49 659
Rudhra Deep Biswas (rudeUltra) 1 6/5/0 6 20 362
Midhun G S (gsmithun4) 1 7/7/0 6 17 226
Souvik 1 3/3/0 3 7 156
JorgeSanchez-ENC 1 1/1/0 1 1 102
Anas Khafaga 1 3/1/0 1 3 68
Adish M (adishM98) 2 5/0/3 8 4 54
Nakul Nagargade 1 0/0/0 1 4 8
None (renovate[bot]) 1 1/0/0 1 1 6
Faisal Khan (fkk989) 0 0/1/0 0 0 0
Ian W (IWang20) 0 1/0/0 0 0 0
parv nema (PARVNEMA) 0 1/0/0 0 0 0
Subham Singh (webobite) 0 1/0/0 0 0 0
Kartik Gupta (Kartik18g) 0 0/1/0 0 0 0
Siddheya Kulkarni (Asymtode712) 0 1/0/0 0 0 0
Krishnadev (krishnadev7) 0 1/0/0 0 0 0
Kushal Agrawal (kushal34712) 0 1/0/0 0 0 0
Furquan Anwer (FurquanAnwer) 0 1/0/0 0 0 0
Himanshu Dube (himanshudube97) 0 1/0/0 0 0 0
Johnson Cherian 0 0/0/0 0 0 0
Sagar Bendale (sagarbendale2004) 0 1/0/0 0 0 0
Harshit Vashisht (HarshitVashisht11) 0 1/0/0 0 0 0
Mohit Soni (developer-mohitsoni) 0 1/0/0 0 0 0

PRs: created by that dev and opened/merged/closed-unmerged during the period

Quantify risks



Project Risk Ratings

Risk Level (1-5) Rationale
Delivery 4 The ToolJet project faces significant delivery risks due to a substantial backlog of open issues (763) and pull requests (196), many of which are pending code review. The delays in code reviews, particularly due to limitations in the AI Code Review Agent, exacerbate these risks. Additionally, unresolved CLA issues present legal hurdles that must be addressed before certain contributions can be merged. While there is strong community engagement and ongoing efforts to improve documentation and user experience, the sheer volume of open tasks poses a challenge to timely delivery.
Velocity 3 The project's velocity is moderate, with active development indicated by recent commit activity and ongoing pull requests. However, the backlog of issues and pull requests, along with delays in code reviews, could slow down progress. The disparity in contribution levels among developers suggests potential team dynamics issues that might affect sustained velocity. While documentation updates are frequent, the lack of substantial new features or major code changes indicates limited immediate impact on accelerating development pace.
Dependency 2 The introduction of Renovate for automated dependency management is a proactive step towards mitigating dependency risks. This measure helps ensure that the project remains up-to-date with external libraries, reducing the likelihood of security vulnerabilities or compatibility issues. However, reliance on numerous external data sources and plugins still presents a risk that needs continuous monitoring.
Team 3 The ToolJet project shows signs of potential team dynamics issues, such as uneven workload distribution among developers and varying levels of engagement. This could lead to burnout for more active contributors and disengagement for others. The presence of many 'good first issue' labels suggests an effort to engage new contributors, which is positive but may require additional oversight to ensure quality contributions and maintain team cohesion.
Code Quality 3 While there is a strong focus on documentation updates and minor bug fixes, the lack of substantial code changes or new features raises concerns about code quality. The absence of unit tests for certain new features poses a risk to maintaining high-quality standards. Additionally, the high number of open issues related to UI/UX inconsistencies and performance concerns indicates areas where code quality could be improved.
Technical Debt 4 The ToolJet project faces significant technical debt risks due to the accumulation of unresolved issues and pending pull requests. The focus on documentation updates is beneficial for reducing technical debt, but the ongoing influx of new issues could strain resources if not managed effectively. The absence of unit tests for some features also contributes to technical debt accumulation.
Test Coverage 3 While there are suggestions for unit tests in some pull requests, the absence of these tests at present poses a risk to test coverage. The project's focus on documentation updates does not directly contribute to improving test coverage, highlighting a need for more comprehensive testing practices to catch bugs and regressions effectively.
Error Handling 3 Recent pull requests have addressed some error handling improvements, particularly in user experience enhancements like search functionality. However, the ongoing presence of issues related to error descriptions in plugins indicates that error handling is not yet fully robust. Continued efforts are needed to ensure comprehensive error reporting and handling mechanisms.

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

Recent GitHub issue activity for the ToolJet project indicates a high level of engagement, with numerous issues being created and updated frequently. The issues range from bug reports and feature requests to documentation updates and community contributions. This suggests an active development cycle and a responsive community.

Notable anomalies include several issues related to UI/UX inconsistencies, such as alignment problems in the query manager (#9615) and layout shifts in component styles (#9560). Additionally, there are recurring themes of performance concerns, particularly with large datasets in table components (#9281), and issues with component rendering and interaction (#9265, #9262). Another significant theme is the enhancement of existing features, such as adding support for advanced SQL functionalities in ToolJet Database (#9282) and improving the user experience with better loading states and error messages.

Several issues highlight the need for improved documentation and user guidance, such as clarifying the behavior of certain features or providing better onboarding experiences for new users. The presence of many "good first issue" labels indicates an effort to engage the community and encourage contributions from new developers.

Issue Details

Most Recently Created Issues

  • #10864: Feature request to add height and width styles to components. Created 0 days ago.
  • #10848: Documentation update for the Text Editor Component. Created 2 days ago.
  • #10847: Documentation update for the Timeline Component. Created 2 days ago.

Most Recently Updated Issues

  • #10864: Recently created feature request by Ayyan Shaikh.
  • #10848: Documentation update edited 1 day ago by Pritesh Kiri.
  • #10847: Documentation update edited 1 day ago by Pritesh Kiri.

High Priority Issues

  • #10672: Sign-up button missing on the Sign-in page. Closed 37 days ago.
  • #10577: Permission error when loading tooljet_db rows since v2.65. Closed 57 days ago.
  • #10512: Dynamic data source enhancement request. Closed 63 days ago.

Status Overview

The issues cover a broad spectrum of categories, including bugs, feature requests, enhancements, and documentation updates. Many issues are labeled as "good first issue" or "community contribution," indicating opportunities for new contributors to get involved. The project appears to be well-maintained, with a focus on both fixing existing problems and enhancing functionality based on user feedback.

Overall, ToolJet's GitHub activity reflects an active open-source project with a strong emphasis on community involvement and continuous improvement.

Report On: Fetch pull requests



Pull Request Analysis for ToolJet

Open Pull Requests

  1. Documentation Updates:

    • #10865, #10863, #10862, #10861, #10860: These PRs focus on updating documentation for various components like Toggle Switch, Timer, Vertical Divider, Text Editor, and Timeline. They are all recent (created within the last 1-2 days) and have passed quality checks but are awaiting code review due to limitations in the AI Code Review Agent. These updates align with the project's emphasis on comprehensive documentation.
  2. Platform and UI Enhancements:

    • #10859: This PR addresses backlog bug fixes with a focus on improving user experience through enhanced search functionality and error handling. The changes have passed quality checks and include suggestions for adding unit tests to ensure robustness.
    • #10858: A minor PR aimed at enhancing readability by adding emojis and making small textual changes. However, the CLA is not signed, which is a notable issue that needs resolution before merging.
  3. Server-Side Operations Documentation:

    • #10856, #10855, #10854: These PRs introduce new documentation for server-side operations like pagination, filtering, and sorting. They are crucial for users leveraging ToolJet's capabilities in handling large datasets efficiently.
  4. Renovate Configuration:

    • #10850: This PR introduces Renovate for dependency management. It is an onboarding PR that requires merging to activate Renovate's features for automated dependency updates.
  5. Bug Fixes and Feature Improvements:

    • #10849: Addresses a UI issue by removing static CSS styles that cluttered the search bar appearance.
    • #10838: Fixes a width value issue between component switches, ensuring consistent UI behavior.

Closed Pull Requests

  1. Documentation Fixes and Updates:

    • #10851, #10843, #10842: These PRs were merged to fix typos and update documentation according to style guides, reflecting ongoing efforts to maintain high-quality documentation.
  2. Testing and Configuration Adjustments:

    • #10852, #10840: These were dummy PRs for testing purposes and were closed without merging, indicating active development and testing processes.
  3. Docker Debugging Enablement:

    • #10812: Merged to enable debugging in Docker containers using VSCode configurations, enhancing developer experience when working with Docker-based deployments.
  4. Platform Bug Fixes:

    • #10794, #10791: Addressed platform release bugs and issues related to app ownership changes, demonstrating active maintenance of platform stability.

Notable Issues

  • Several open PRs have issues with the AI Code Review Agent not functioning due to plan limitations or configuration settings (e.g., #10865, #10863). This could delay reviews and merges.
  • Some contributors have not signed the CLA (e.g., #10858), which is a prerequisite for merging contributions into the main codebase.
  • Documentation updates are frequent and cover a wide range of components and features, indicating a strong focus on maintaining comprehensive user guides.

Conclusion

The ToolJet repository is actively maintained with a strong focus on documentation updates and platform improvements. While there are some issues with code review automation and CLA signing that need addressing, the project continues to evolve with frequent contributions from various developers. The emphasis on enhancing user experience through UI improvements and server-side operations documentation aligns well with ToolJet's goal of being a robust low-code platform for building internal applications.

Report On: Fetch Files For Assessment



Source Code Assessment

File: docs/docs/data-sources/smtp.md

Analysis

  • Structure & Clarity: The document is well-structured with clear sections for connection setup and querying SMTP. It uses headings and bullet points effectively to organize information.
  • Content Quality: Provides detailed instructions on how to configure SMTP, including common provider settings. The guide is comprehensive and should be easy for users to follow.
  • Visual Aids: Includes images to aid understanding, which is beneficial for visual learners.
  • Improvement Suggestions: Consider adding troubleshooting tips for common connection issues.

File: docs/docs/data-sources/snowflake.md

Analysis

  • Structure & Clarity: Similar to the SMTP guide, this document is well-organized with sections for connection and querying.
  • Content Quality: Instructions are clear and concise. It includes links to Snowflake documentation for additional details, which is helpful.
  • Visual Aids: Uses images effectively to illustrate steps.
  • Improvement Suggestions: Add examples of common queries or use cases to provide more context.

File: docs/docs/data-sources/stripe.md

Analysis

  • Structure & Clarity: The document is lengthy but well-organized with sections for connection, querying, and supported operations.
  • Content Quality: Provides a comprehensive list of operations that can be performed with Stripe, which is valuable for users needing detailed API interactions.
  • Visual Aids: Includes images and tables to present information clearly.
  • Improvement Suggestions: Consider breaking down the operations section into sub-documents or using collapsible sections for better readability.

File: docs/docs/data-sources/amazonses.md

Analysis

  • Structure & Clarity: Follows a consistent structure with other data source documents, making it easy to navigate.
  • Content Quality: Provides necessary details for connecting and querying Amazon SES. The note on creating a new IAM user is a good security practice reminder.
  • Visual Aids: Images support the text well.
  • Improvement Suggestions: Include a section on handling errors or common issues when sending emails.

File: docs/docs/data-sources/baserow.md

Analysis

  • Structure & Clarity: Well-organized with clear sections on connection, querying, and supported operations.
  • Content Quality: Detailed explanations of operations with examples are provided, which enhances understanding.
  • Visual Aids: Screenshots and response examples are used effectively.
  • Improvement Suggestions: Consider adding a FAQ section for common user queries.

File: docs/docs/data-sources/bigquery.md

Analysis

  • Structure & Clarity: Consistent structure with other data source guides. Sections are clearly defined.
  • Content Quality: Comprehensive guide on setting up BigQuery connections and performing various operations. The JSON example for private key configuration is particularly useful.
  • Visual Aids: Images are used appropriately to enhance comprehension.
  • Improvement Suggestions: Include best practices for query optimization in BigQuery.

File: docs/docs/data-sources/firestore.md

Analysis

  • Structure & Clarity: Follows the established format of other data source documents. Information is logically ordered.
  • Content Quality: Provides detailed instructions on connecting and querying Firestore. Examples of JSON structures are helpful.
  • Visual Aids: Uses images effectively to support text instructions.
  • Improvement Suggestions: Add a section on security rules configuration in Firestore.

File: frontend/assets/translations/es.json

Analysis

  • Structure & Clarity: JSON structure is appropriate for translations. Keys are descriptive enough to understand their purpose.
  • Content Quality: Appears comprehensive in covering various UI elements and messages in Spanish. Consistency in translation quality should be ensured across all entries.
  • Improvement Suggestions: Regularly review translations for accuracy and cultural relevance.

File: frontend/src/_styles/theme.scss

Analysis

  • Structure & Clarity: The file imports multiple SCSS modules, indicating modular design which is good for maintainability. However, the file itself is very large (13,232 lines), which can hinder readability and performance.
  • Content Quality: Contains detailed styling rules and custom fonts setup. Use of variables like $border-radius indicates good practice in maintaining consistency across styles.
  • Improvement Suggestions:
    • Consider breaking down this file into smaller components if possible to improve maintainability.
    • Ensure that unused styles are removed to optimize loading times.

File: .vscode/tasks.json

Analysis

  • Structure & Clarity: JSON structure is clear with tasks defined for Docker debugging. Each task has a specific label indicating its purpose (e.g., "debug:client").
  • Content Quality: Provides configurations necessary for debugging using Docker Compose. This setup facilitates development in containerized environments, which is beneficial for consistency across different systems.
  • Improvement Suggestions:
    • Include comments within the JSON file explaining each task's purpose for better understanding by new developers joining the project.

Overall, the documentation files are well-crafted with clear instructions and visual aids that enhance usability. The frontend assets demonstrate attention to detail in localization and styling, though improvements could be made in file organization and optimization.

Report On: Fetch commits



Development Team and Recent Activity

Team Members and Activities

  1. Johnson Cherian (johnsoncherian)

    • Recent contributions include merging pull requests related to documentation updates for various data sources such as SMTP, Snowflake, Stripe, AmazonSES, BaseRow, BigQuery, Firestore, and others.
    • Collaborated with Pratik Agrawal on documentation updates.
  2. Pratik Agrawal (RudraPratik30)

    • Actively involved in updating documentation for numerous data sources including BigQuery, Firestore, SMTP, Stripe, Snowflake, and others.
    • Worked on fixing typos and styling issues in documentation.
    • Contributed to server-side operations documentation for tables.
    • Engaged in multiple branches focusing on documentation enhancements.
  3. Souvik (Slancerk)

    • Updated Ubuntu setup guides and Docker guide to include debugging configurations.
    • Merged changes into the main branch.
  4. Anas Khafaga (anasKhafaga)

    • Enabled debugging in Docker containers.
  5. Aman Regu (amanregu)

    • Made significant contributions to the platform's documentation including adding new LTS tags and updating home page content.
    • Worked on improving styles and fixing build errors in documentation.
  6. Jorge Sanchez (JorgeSanchez-Encora)

    • Added Spanish translations to the project.
  7. Karan Rathod (karan-rathod-316)

    • Updated ToolJet concepts documentation and contributed to user management guides.
  8. Sarath Kumar Somana (sarathsomana)

    • Added a new plugin called "portkey" to the marketplace.
  9. Rudhra Deep Biswas (rudeUltra)

    • Worked on bug fixes related to app sharing and workspace constants.
    • Engaged in platform release bug fixes and improvements.
  10. Midhun G S (gsmithun4)

    • Involved in version updates and bug fixes related to platform releases.
    • Addressed migration issues and lint fixes.
  11. Muhsin Shah C P (shah21)

    • Worked on new onboarding flow improvements and bug fixes related to archived user SSO signup and login.
  12. Rohan Lahori (rohanlahori)

    • Focused on bug fixes related to app sharing, market place UI fixes, and workspace constant CE bug fixes.
  13. Anantshree Chandola (AnantshreeChandola)

    • Implemented features related to secret constants and resolved bugs concerning constants resolution.
  14. Nakul Nagargade (nakulnagargade)

    • Fixed datepicker default value update issue when enabling time selection.

Patterns and Themes

  • The development team is heavily focused on enhancing documentation across various data sources, reflecting a strong emphasis on improving user guidance and support materials.
  • There is ongoing work on bug fixes and feature enhancements related to platform releases, indicating active maintenance and iterative improvements of the software.
  • Collaboration among team members is evident through joint efforts in updating documentation and resolving platform issues.
  • The introduction of new features such as plugins indicates continuous expansion of ToolJet's capabilities.
  • The team is actively addressing localization by adding translations, which suggests an effort to cater to a global audience.

Overall, the recent activities highlight a balanced focus on both expanding functionality through new features and maintaining quality through rigorous documentation updates and bug fixes.