MCPcopy
hub / github.com/openblocks-dev/openblocks

github.com/openblocks-dev/openblocks @v1.1.8 sqlite

repository ↗ · DeepWiki ↗ · release v1.1.8 ↗
9,460 symbols 33,014 edges 1,756 files 280 documented · 3%
README

Openblocks The Open Source Retool Alternative

Build internal tools fast, with no limitations

📢 Use Openblocks in 3 steps

  1. Connect to any data sources or APIs.
  2. Build UI with 50+ components.
  3. Share with colleagues and customers.

💡 Why Openblocks

It's cumbersome to create a single app. You had to design user interfaces, write code in multiple languages and frameworks, and understand how all of that code works together.

Low-code/No-code platforms are fast to get started with but quickly become unmaintainable and inflexible. This creates more problems than it solves.

Retool-like solutions are great for their simplicity and flexibility, but they can also be limited in different ways compared to frameworks like React/Vue.

Openblocks wants to take a step forward. More specifically, Openblocks is - An all-in-one IDE to create internal or customer-facing apps. - A place to create, build and share building blocks of web applications. - A domain-specific language that UI-configurable block is the first-class citizen.

🪄 Features

  • Visual UI builder with 50+ built-in components.
  • Module and Query Library for reusable components and queries in the UI builder.
  • Custom components to share through React and Openblocks SDK (instead of iFrame).
  • Native connections to PostgreSQL, MongoDB, MySQL, Redis, Elasticsearch, REST API, SMTP, etc.
  • JavaScript supported everywhere to transform data, control components, etc.
  • Embed Openblocks pages as a React component (instead of iFrame). Demo
  • Role-based access control (RBAC) for granular permission management.
  • Auto-saved and restorable history for release and version control.
  • DIY app themes to precisely align with your company's content.
  • Audit logs to track activities and ensure compliance.

🏆 Comparisons

Openblocks vs Retool

  • Openblocks is open-source. You don't need to worry about vendor lock-in or being stuck with an outdated version of the software.
  • In Openblocks, developers can create and use their own components instead of depending on official updates.
  • Openblocks supports left menu navigation (like most sites do). Retool has header navigation only.

Openblocks vs Appsmith, Tooljet

  • Openblocks has more components and richer configuration than Appsmith and Tooljet.
  • In Openblocks, you can choose auto-height or fixed-height mode for your components, while Appsmith supports fixed-height mode only.
  • In Openblocks, you can reuse common structures when building apps with modules and query library features.

👐 Support and Community

If you have any questions, please feel free to contact us or share with our community. Our team is here ready to help.

📮 Chat with us on Discord

📑 Search for solutions in our Documentation

🔎 Submit an issue here on GitHub

💻 Deployment Options

You can access Openblocks from cloud-hosted version at any time, or use the following resources for deploying Openblocks on different platforms: - Docker - AWS AMI - DigitalOcean

💪 Contributing

  • Language support: If you have experience with a language that isn't currently supported by our product, send us a pull request.
  • Create and share components or demos: If you've created something that might be useful to others, add the link here.
  • Frontend contributing guide

📝 Examples(WIP)

Extension points exported contracts — how you extend this code

BottomResComp (Interface)
(no doc) [6 implementers]
client/packages/openblocks/src/types/bottomRes.ts
DatasourceStructureService (Interface)
(no doc) [7 implementers]
server/api-service/openblocks-domain/src/main/java/com/openblocks/domain/datasource/service/DatasourceStructureService.java
SandBoxOption (Interface)
(no doc)
server/node-service/src/eval/evalScript.ts
OptionCompProperty (Interface)
(no doc) [40 implementers]
client/packages/openblocks/src/comps/controls/optionsControl.tsx
DatasourceConnectionPool (Interface)
(no doc) [8 implementers]
server/api-service/openblocks-domain/src/main/java/com/openblocks/domain/datasource/service/DatasourceConnectionPool.java
ActionDataType (Interface)
(no doc)
server/node-service/src/plugins/openApi/index.ts
IContainer (Interface)
(no doc) [18 implementers]
client/packages/openblocks/src/comps/comps/containerBase/iContainer.tsx
DatasourceConnectionHolder (Interface)
(no doc) [6 implementers]
server/api-service/openblocks-domain/src/main/java/com/openblocks/domain/datasource/model/DatasourceConnectionHolder.java

Core symbols most depended-on inside this repo

getView
called by 923
client/packages/openblocks-core/src/baseComps/comp.tsx
propertyView
called by 522
client/packages/openblocks/src/comps/controls/optionsControl.tsx
build
called by 402
server/api-service/openblocks-server/src/main/java/com/openblocks/api/authentication/request/AuthRequestFactory.java
error
called by 383
server/api-service/openblocks-server/src/main/java/com/openblocks/api/framework/view/ResponseView.java
forEach
called by 322
client/packages/openblocks-core/lib/index.js
create
called by 290
server/api-service/openblocks-domain/src/main/java/com/openblocks/domain/user/service/UserService.java
useState
called by 287
client/packages/openblocks-core/lib/index.js
toString
called by 284
client/packages/openblocks/src/util/perfUtils.ts

Shape

Method 4,204
Function 3,416
Class 1,254
Interface 514
Enum 72

Languages

TypeScript62%
Java38%

Modules by API surface

client/packages/openblocks-core/lib/index.cjs686 symbols
client/packages/openblocks-core/lib/index.js685 symbols
server/api-service/openblocks-plugins/redisPlugin/src/main/java/com/openblocks/plugin/redis/commands/RedisCommand.java107 symbols
client/packages/openblocks-core/lib/index.d.ts65 symbols
client/packages/openblocks/src/comps/editorState.tsx57 symbols
client/packages/openblocks/src/layout/utils.ts43 symbols
client/packages/openblocks/src/comps/generators/withExposing.tsx43 symbols
server/api-service/openblocks-sdk/src/main/java/com/openblocks/sdk/util/MustacheHelper.java36 symbols
client/packages/openblocks/src/comps/queries/queryComp.tsx33 symbols
client/packages/openblocks/src/comps/controls/codeControl.tsx33 symbols
client/packages/openblocks-sdk/dataSource.d.ts33 symbols
client/packages/openblocks/src/comps/comps/preLoadComp.tsx31 symbols

Dependencies from manifests, versioned

ch.qos.logback:logback-classic
com.auth0:java-jwt4.3.0 · 1×
com.fasterxml.jackson.datatype:jackson-datatype-jdk8
com.fasterxml.jackson.datatype:jackson-datatype-jsr310
com.fasterxml.jackson.module:jackson-module-parameter-names
com.github.cloudyrock.mongock:mongock-bom4.3.8 · 1×
com.github.cloudyrock.mongock:mongock-spring-v5
com.github.cloudyrock.mongock:mongodb-springdata-v3-driver
com.github.spullara.mustache.java:compiler0.9.6 · 1×
com.google.api-client:google-api-client1.31.2 · 1×

Datastores touched

(mongodb)Database · 1 repos
openblocksDatabase · 1 repos
(mysql)Database · 1 repos

For agents

$ claude mcp add openblocks \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact