Build AI agents and web apps — with a single binary.
Find a file
2022-09-28 18:09:06 +08:00
.github [fix] release-workflow 2022-09-28 00:03:02 +08:00
api [change] print message when loading error 2022-08-22 18:51:44 +08:00
app [add] language pack support for model 2022-08-19 21:33:48 +08:00
brain [add] Brain files (demo) 2022-05-25 20:33:33 +08:00
cert [add] ssl.Sign & ssl.Verify processes 2022-07-16 17:11:03 +08:00
chart [add] language pack support for page 2022-08-20 16:40:27 +08:00
cmd [add] XGen v1.0 packing 2022-09-27 23:54:06 +08:00
config [change] production mode log level 2022-07-14 09:38:30 +08:00
connector [add] connector & mongo redis driver for store 2022-09-17 22:52:51 +08:00
crypto [add] yao.crypto.hmac base64 encoding 2022-07-13 21:49:57 +08:00
data [add] XGen v1.0 packing 2022-09-27 23:54:06 +08:00
docker change CDN url for docker release 2022-04-14 17:50:29 +08:00
docs [add] wechat qrcode 2022-08-29 20:37:35 +08:00
engine [add] XGen v1.0 packing 2022-09-27 23:54:06 +08:00
flow [Add] xiang.table.Find query DSL support 2022-04-14 07:47:20 +08:00
helper [add] xiang.helper.HexToString process 2022-03-01 20:47:14 +08:00
importer [change] importer process add id and page param 2022-06-14 12:52:38 +08:00
lang [add] widget chart 2022-09-28 17:23:51 +08:00
model [add] language pack support for model 2022-08-19 21:33:48 +08:00
network [add] DNS Cache & Request CloseIdleConnections 2022-06-09 14:42:53 +08:00
page [add] language pack support for page 2022-08-20 16:40:27 +08:00
plugin 更新命名空间 2022-02-09 09:17:23 +08:00
query [add] Javascript Query object 2022-05-27 19:22:04 +08:00
schedule [add] Task & Schedule 2022-07-30 21:18:05 +08:00
script 更新命名空间 2022-02-09 09:17:23 +08:00
service [add] XGen v1.0 packing 2022-09-27 23:54:06 +08:00
share [add] XGen v1.0 packing 2022-09-27 23:54:06 +08:00
socket [change] rename servers -> sockets 2022-07-17 08:22:50 +08:00
store [add] connector & mongo redis driver for store 2022-09-17 22:52:51 +08:00
system [add] yao.system.Exec process 2022-07-17 16:12:48 +08:00
table [change] print message when loading error 2022-08-22 18:51:44 +08:00
task [add] Task & Schedule 2022-07-30 21:18:05 +08:00
tests [add] connector & mongo redis driver for store 2022-09-17 22:52:51 +08:00
ui [add] XGen v1.0 packing 2022-09-27 23:54:06 +08:00
user [change] login widget for the xgen-next (done) 2022-09-21 19:13:17 +08:00
utils [change] login widget for the xgen-next (done) 2022-09-21 19:13:17 +08:00
websocket [add] WebSocket server direct message support 2022-07-17 22:07:47 +08:00
widget [add] Widget (alpha) 2022-08-05 19:46:26 +08:00
widgets [fix] test data 2022-09-28 17:32:35 +08:00
workflow [change] unit-tests workflow & remove OSS support 2022-09-01 14:36:19 +08:00
xfs [change] unit-tests workflow & remove OSS support 2022-09-01 14:36:19 +08:00
xgen [add] XGen v1.0 packing 2022-09-27 23:54:06 +08:00
yao [fix] GetURL ( refactoring later ) 2022-06-21 23:45:47 +08:00
.gitignore [add] XGen v1.0 packing 2022-09-27 23:54:06 +08:00
go.mod [add] connector & mongo redis driver for store 2022-09-17 22:52:51 +08:00
go.sum [add] connector & mongo redis driver for store 2022-09-17 22:52:51 +08:00
init_test.go 更新命名空间 2022-02-09 09:17:23 +08:00
LICENSE + README & LICENSE 2022-02-18 21:46:24 +08:00
main.go [change] login widget for the xgen-next (done) 2022-09-21 19:13:17 +08:00
main_test.go [add] Task & Schedule 2022-07-30 21:18:05 +08:00
Makefile [fix] Makefile app -> xgen 2022-09-28 18:09:06 +08:00
README.md fix get started url 2022-09-21 09:08:44 +08:00
README.zh-CN.md fix get started url 2022-09-21 09:08:44 +08:00

YAO App Engine

Website · Producthunt · Twitter · Discord

intro

中文介绍

YAO is an open-source application engine, written in Golang, in the form of a command-line tool that can be downloaded and used immediately. It is suitable for developing business systems, website/APP API, admin panel, self-built low-code platforms, etc.

YAO adopts a flow-based programming model to implement various functions by writing YAO DSL (Logical Description in JSON format) or using JavaScript to write processes. The YAO DSL can be written in several ways:

  1. Purely hand-written

  2. Use automated scripts to generate contextual logic

  3. Use the visual editor to create by "drag and drop"

Discord: https://discord.gg/nsKmCXwvxU

Documentation: https://yaoapps.com/en-US/doc

Demo

Applications developed with YAO

Application INTRO REPO
YAO WMS Warehouse Management Sytem https://github.com/yaoapp/yao-wms
LMS DEMO Library Management System Demo https://github.com/yaoapp/demo-lms
CRM DEMO Customer Management System Demo https://github.com/YaoApp/demo-crm
AMS DEMO Asset Management Sytem Demo https://github.com/YaoApp/demo-asset
Widget DEMO Self-Hosting Low Code Platform Demo https://github.com/YaoApp/demo-widget

Intelligent warehouse management system

An example of cloud + edge IoT application, an unattended intelligent warehouse management system that supports face recognition and RFID.

https://demo-wms.yaoapps.com

Introduce

Yao allows developers to create web services by processes. Yao is a app engine that creates a database model, writes API services, and describes dashboard interface just by JSON for web & hardware, and 10x productivity.

Yao is based on the flow-based programming idea, developed in the Go language, and supports multiple ways to expand the data stream processor. This makes Yao extremely versatile, which can replace programming languages in most scenarios, and is 10 times more efficient than traditional programming languages in terms of reusability and coding efficiency; application performance and resource ratio Better than PHP, JAVA and other languages.

Yao has a built-in data management system. By writing JSON to describe the interface layout, 90% of the common interface interaction functions can be realized. It is especially suitable for quickly making various management background, CRM, ERP and other internal enterprise systems. Special interactive functions can also be implemented by writing extension components or HTML pages. The built-in management system is not coupled with Yao, and any front-end technologies such as VUE and React can be used to implement the management interface.

Install

Run the script under terminal: (MacOS/Linux)

curl -fsSL https://website.yaoapps.com/install.sh | bash

For Windows users, please refer to the Installation and Debugging chapter: Installation and debugging

Getting Started

Step 1: Create a project

Create a new project directory, enter the project directory, and run the yao init command to create a blank Yao application.

mkdir -p /data/crm # create project directory
cd /data/crm # Enter the project directory
yao init # run the initializer

After the command runs successfully, the app.json file , db, ui , data and other directories will be created

├── data # Used to store files generated by the application, such as pictures, PDFs, etc.
├── db # Used to store SQLite database files
│ └── yao.db
└── ui # The static file server file directory, where custom front-end products can be placed. The files in this directory can be accessed through http://host:port/filename .
└── app.json # Application configuration file, used to define the application name, etc.

Step 2: Create the data table

Use the yao migrate command to create the data table, open the command line terminal, run in the project root directory:

yao migrate

initialization menu

yao run flows.setmenu

Step 3: Start the service

Open a command line terminal, run in the project root directory:

yao start
  1. Open a browser, visit http://127.0.0.1:5099/xiang/login/admin,

  2. Enter the default username: xiang@iqka.com, password: A123456p+

About Yao

Yao's name is derived from the Chinese character 爻 (yáo), the basic symbol that makes up the Eight Trigrams. The Eight Trigrams is a symbol system created by the ancient god Fuxi after observing and summarizing the laws of nature, which can refer to everything. Yao has two states of yin and yang, like 0 and 1. The transformation of yin and yang of Yao drives the replacement of Eight Trigrams, so as to summarize and record the development law of things.