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](https://github.com/openblocks-dev/openblocks-sdk-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](https://discord.com/invite/z5W2YHXdtt) 📑 Search for solutions in our [Documentation](https://docs.openblocks.dev/) 🔎 Submit an issue here on [GitHub](https://github.com/openblocks-dev/openblocks/issues) ## 💻 Deployment Options You can access Openblocks from [cloud-hosted version](https://cloud.openblocks.dev/) at any time, or use the following resources for deploying Openblocks on different platforms: - [Docker](https://docs.openblocks.dev/self-hosting) - [AWS AMI](https://docs.openblocks.dev/self-hosting/aws-ami) - [DigitalOcean](https://docs.openblocks.dev/self-hosting/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](https://github.com/openblocks-dev/openblocks/tree/develop/client) ## 📝 Examples(WIP) - [Basic CRUD](https://cloud.openblocks.dev/apps/6374b8dbc23a1103804cc23e/view) - [Simple table horizontal scroll and pagination demo](https://cloud.openblocks.dev/apps/6377695dc54c5224c70e9770/view) - [Pagination with temporary state demo](https://cloud.openblocks.dev/apps/6379cdd9f02c6e6ecc1d37ff/view) - [Import third-party JS lib demo](https://cloud.openblocks.dev/apps/637a1797c54c5224c70efed3/view) - [JSON schema parsing using a third-party lib](https://cloud.openblocks.dev/apps/638dc95c75cfb658566143c5/view) - [Custom Echarts demo](https://cloud.openblocks.dev/apps/63779dd6c54c5224c70ea537/view), [Echarts source](https://echarts.apache.org/examples/en/editor.html?c=area-stack) - [Periodically user action report demo](https://cloud.openblocks.dev/apps/637f38daa899fe1ffcb17f0b/view) - [Generate PDF using jsPdf](https://cloud.openblocks.dev/apps/6388610b0a254922d92e3882/view) - [Excel Explorer](https://cloud.openblocks.dev/apps/6392ff5d51cd8a59114b0c2c/view) - [File upload with REST API](https://cloud.openblocks.dev/apps/63a2651e660ad97d59eb4a51/view) - [Shopping cart demo using transformers/state/drawer](https://cloud.openblocks.dev/apps/63a422a344075b798fe3ae06/view) - [Module demo: color picker](https://cloud.openblocks.dev/apps/63a58f1e85d4cb49cebad1d4/view) - [S3 File Management](https://cloud.openblocks.dev/apps/63c7aa55686c4f301cf4d755/view) - [Custom Markdown Style](https://cloud.openblocks.dev/apps/63c8bdb9de760726cd253c90/view) - [Use JS query to orchestrate other queries](https://cloud.openblocks.dev/apps/63c8fb1e0279b679be2b5a09/view) - [Data responder demo](https://cloud.openblocks.dev/apps/63f84d23f5f6f66102fedf81/view) - [Change theme by code](https://cloud.openblocks.dev/apps/63f84ca9f5f6f66102fedf3b/view)