Skip to content

Commit 39bbd15

Browse files
authored
Merge branch 'dev' into agora-integrationn
2 parents b83ae94 + 480a4a2 commit 39bbd15

File tree

25 files changed

+728
-97
lines changed

25 files changed

+728
-97
lines changed

README.md

Lines changed: 32 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
44
<div align="center">
55
<h1 style="border-bottom: none; margin-bottom: 0">Lowcoder</h1>
6-
<h3 style="margin-top: 0">The Open Source Retool, Tooljet and Appsmith Alternative</h3>
6+
<h3 style="margin-top: 0">Lowcoder is the best Retool, Appsmith or Tooljet Alternative.</h3>
77
<p>
8-
Build internal and customer facing Apps fast, with no limitations
8+
Create internal and external software applications for your Company and your Customers with minimal coding experience.
99
</p>
1010
</div>
1111

12-
<img src="/docs/.gitbook/assets/Bu2fpz1h01.gif"/>
12+
<img src="https://1167272343-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjNgeI0mUzgw6Re92iTOw%2Fuploads%2FnwXJC1XBqP2MvTQitPyo%2FApp%20Editor%20%7C%20Main%20Screeen%20clean.png?alt=media&token=e5fba81b-82a7-4c0e-a15d-baa781d5b13a"/>
1313

1414
## 📢 Use Lowcoder in 3 steps
1515
1. Connect to any data sources or APIs.
@@ -21,32 +21,42 @@ It's cumbersome to create a single app. You had to design user interfaces, write
2121

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

24-
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.
24+
NewGen Lowcode Platforms like Retool and others are great for their simplicity and flexibility - like Lowcoder too, but they can also be limited in different ways, especially when it comes to "external" applications for everyone.
2525

26-
Lowcoder wants to take a step forward. More specifically, Lowcoder is
27-
- An all-in-one IDE to create internal or customer-facing apps.
26+
Lowcoder wants to take a step forward. More specifically, Lowcoder is:
27+
- An all-in-one IDE to create internal or customer-facing (external) apps.
2828
- A place to create, build and share building blocks of web applications.
29-
- A domain-specific language that UI-configurable block is the first-class citizen.
29+
- The tool and community to support your business, and lower the cost and time to develop interactive applications.
30+
- The only platform to embed Lowcode Apps natively in Websites (no iFrame!)
31+
- The only platform where you can build your own Meeting Tool - like Teams, Zoom or Google Meets, - just in the Lowcode way.
3032

3133
## 🪄 Features
32-
- **Visual UI builder** with 50+ built-in components.
34+
- **Visual UI builder** with 50+ built-in components. Save 90% of time to build apps.
3335
- **Modules** for reusable (!) component sets in the UI builder.
34-
- **Embed Lowcoder Apps as native React component** instead of iFrame (!). [Demo](https://github.com/lowcoder-org/lowcoder-sdk-demo)
36+
- **Embed Lowcoder Apps as native parts of any Website** instead of iFrame (!). [Demo](https://github.com/lowcoder-org/lowcoder-sdk-demo)
37+
- **Video Meeting Components** to create your own individual Web-Meeting tool.
3538
- **Query Library** for reusable data queries of your data sources.
3639
- **Custom components** to develop own components and use them in the UI builder.
3740
- **Native Data connections** to PostgreSQL, MongoDB, MySQL, Redis, Elasticsearch, REST API, SMTP, etc.
41+
- **Stream Data connections** to Websockets for realtime data updates & collaboration
3842
- **JavaScript supported everywhere** to transform data, control components, etc.
3943
- **Role-based access control (RBAC)** for granular permission management.
4044
- **Auto-saved and restorable history** for release and version control.
4145
- **App Themes and Theme Editor** to precisely align with your company's brand guidelines.
4246

43-
- **Self Hosting** to use Lowcoder in your internal company network.
47+
- **Self Hosting** to use Lowcoder in your internal company network, even behind the firewall.
4448
- **Free Community Cloud** to start within a minute and build your first Apps. [Start here](https://app.lowcoder.cloud)
4549

4650
## 🏆 Comparisons
51+
### Lowcoder vs Teams, Google Meets, Zoom
52+
- build a Meeting tool with peace in mind. Blue buttons - ok. Red corners or circle Videostream - ok too.
53+
- embedd applications in your Video-Meetings, so attendees can enjoy collaborative "anything". From shopping to working and gaming...
54+
### Lowcoder vs Powerapps
55+
- build a apps way faster than in Power Apps. Save up to 50& of the time at least.
56+
- Use self-hosting to keep all apps and data under your control for example at the own baremetals.
4757
### Lowcoder vs Retool
4858
- Lowcoder is open-source. You don't need to worry about vendor lock-in or being stuck with an outdated version of the software.
49-
- In Lowcoder, developers can create and use their own components instead of depending on official updates.
59+
- In Lowcoder, developers can build truly responsive apps - not as cumbersome as the "Desktop / Mobile switch" in Retool
5060
- Lowcoder is free and you can contribute!
5161
- The EE Version of Lowcoder comes with a much better pricing model, so you have no "per-user costs".
5262
### Lowcoder vs Appsmith, Tooljet
@@ -55,15 +65,17 @@ Lowcoder wants to take a step forward. More specifically, Lowcoder is
5565
- In Lowcoder, you can reuse common structures when building apps with modules and query library features.
5666
### Lowcoder vs Mendix, Outsystems, Pega
5767
- Lowcoder is modern. The codebase is fresh and uses modern standards.
58-
- Lowcoder Apps do not need a compile and deployment. Just publish and use.
68+
- Lowcoder Apps do not need a compile and deployment. Just publish and use. Within seconds!
5969
- Lowcoder Apps can get embedded natively in websites and apps, even in mobile apps.
6070
### Lowcoder vs internal Tool platforms
6171
- Lowcoder supports internal tools like admin panels perfectly, but also customer-facing apps can get developed and published.
6272
- The Lowcoder UI builder is straightforward and better to use than Bubble.
6373
- App release cycles and updates can be done nearly daily without service downtimes for customers and users.
6474

75+
6576
## 👐 Support and Community
6677
If you have any questions, please feel free to contact us or share them with our community. Our team is here ready to help.
78+
And we mean it... Day by day!
6779

6880
📮 Best way is to chat with us on [Discord](https://discord.gg/qMG9uTmAx2)
6981

@@ -72,10 +84,16 @@ If you have any questions, please feel free to contact us or share them with our
7284
🔎 Submit an issue here on [GitHub](https://github.com/lowcoder-org/lowcoder/issues)
7385

7486
## 💻 Deployment Options
75-
You can access Lowcoder from [cloud-hosted version](https://www.lowcoder.cloud/) at any time, or use the following resources for deploying Lowcoder on different platforms:
76-
- [Docker](docs/self-hosting/README.md)
87+
You can access Lowcoder from [cloud-hosted version](https://app.lowcoder.cloud/) at any time, or use the following resources for deploying Lowcoder on different platforms:
88+
- [Docker](https://docs.lowcoder.cloud/lowcoder-documentation/setup-and-run/self-hosting)
7789

7890
## 💪 Contributing
7991
- Language support: If you have experience with a language that isn't currently supported by our product, send us a pull request.
8092
- Create and share components or demos: If you've created something that might be useful to others, add the link here.
8193
- [Frontend contributing guide](https://github.com/lowcoder-org/lowcoder/tree/develop/client)
94+
95+
## 🥇 Sponsors
96+
Accelerate the growth of Lowcoder and unleash its potential with your Sponsorship – together, we're shaping the future of Lowcode for everyone!
97+
[Be a Sponsor](https://github.com/sponsors/lowcoder-org)
98+
99+
Like ... @CHSchuepfer. Thank you very much!

app.json

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
{
22
"name": "lowcoder",
3-
"description": "Lowcoder is a developer-friendly open-source low code platform to build internal apps within minutes.",
3+
"description": "An all-in-one IDE to create internal or customer-facing apps. · Visual UI builder with 50+ built-in components",
44
"repository": "https://github.com/lowcoder-org/lowcoder",
5-
"logo": "https://cdn-files.openblocks.dev/logo.png",
5+
"logo": "https://lowcoder.cloud/images/webclip.png",
66
"keywords": [
7-
"low code",
8-
"develop tool"
7+
"LowCode",
8+
"Low code",
9+
"develop tool",
10+
"Fast Application Development",
11+
"Rapid development",
12+
"Collaboration tool",
13+
"Video conferencing"
914
],
1015
"stack": "container",
1116
"formation": {

client/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.1.5
1+
2.1.7
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"name":"Lowcoder.cloud","short_name":"Lowcoder","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
Loading
Loading
Binary file not shown.

client/packages/lowcoder/src/components/CompName.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { GreyTextColor } from "constants/style";
1111
import { UICompType } from "comps/uiCompRegistry";
1212
import { trans } from "i18n";
1313
import { getComponentDocUrl } from "comps/utils/compDocUtil";
14+
import { getComponentPlaygroundUrl } from "comps/utils/compDocUtil";
1415
import { parseCompType } from "comps/utils/remote";
1516

1617
const CompDiv = styled.div<{ width?: number; hasSearch?: boolean; showSearch?: boolean }>`
@@ -78,6 +79,7 @@ export const CompName = (props: Iprops) => {
7879
const compType = selectedComp.children.compType.getView() as UICompType;
7980
const compInfo = parseCompType(compType);
8081
const docUrl = getComponentDocUrl(compType);
82+
const playgroundUrl = getComponentPlaygroundUrl(compType);
8183

8284
const items: EditPopoverItemType[] = [];
8385

@@ -99,6 +101,16 @@ export const CompName = (props: Iprops) => {
99101
});
100102
}
101103

104+
if (playgroundUrl) {
105+
items.push({
106+
text: trans("comp.menuViewPlayground"),
107+
onClick: () => {
108+
window.open(playgroundUrl, "_blank");
109+
},
110+
});
111+
}
112+
113+
102114
if (compInfo.isRemote) {
103115
items.push({
104116
text: trans("comp.menuUpgradeToLatest"),

client/packages/lowcoder/src/comps/comps/layout/layoutMenuItemComp.tsx

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,13 @@ export class LayoutMenuItemComp extends MultiBaseComp<ChildrenType> {
3838
}
3939

4040
override getPropertyView(): ReactNode {
41-
const isLeaf = this.children.items.getView().length === 0;
4241
return (
4342
<>
44-
{isLeaf &&
45-
this.children.action.propertyView({
46-
onAppChange: (label) => {
47-
label && this.children.label.dispatchChangeValueAction(label);
48-
},
49-
})}
43+
{this.children.action.propertyView({
44+
onAppChange: (label) => {
45+
label && this.children.label.dispatchChangeValueAction(label);
46+
},
47+
})}
5048
{this.children.label.propertyView({ label: trans("label") })}
5149
{this.children.icon.propertyView({
5250
label: trans("icon"),
@@ -98,12 +96,17 @@ const LayoutMenuItemCompMigrate = migrateOldData(LayoutMenuItemComp, (oldData: a
9896
export class LayoutMenuItemListComp extends list(LayoutMenuItemCompMigrate) {
9997
addItem(value?: any) {
10098
const data = this.getView();
99+
101100
this.dispatch(
102101
this.pushAction(
103-
value || {
104-
label: trans("menuItem") + " " + (data.length + 1),
105-
itemKey: genRandomKey(),
106-
}
102+
value
103+
? {
104+
...value,
105+
itemKey: value.itemKey || genRandomKey(),
106+
} : {
107+
label: trans("menuItem") + " " + (data.length + 1),
108+
itemKey: genRandomKey(),
109+
}
107110
)
108111
);
109112
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy