connect-platform
v0.3.9
Published
A platform to build backened code mostly in a visual manner.
Downloads
155
Maintainers
Readme
CONNECT platform is a graphical backend development platform aiming to speed up development of async logical microservices (like drastically). The core idea is that async logic is inherently a "Graph" and a representation via a "Chain" (i.e. text-based code) is extremely sub-optimal (so yes the "visuality" is not for non-programmers to be able to play around).
Since not all parts of a microservice logic are necessarily async, CONNECT facilitates injecting sync pieces of code on the fly. However, since sync code is more computationally focused, it is probably less specific to the business logic of the microservice and more a general algorithm, hence probably the best place for it is at the lowest layers in the architecture. So generally it is advisable to attach sync code in form of packages
.
🚀 Platform to use: https://connect-platform.com/connect/
📗 Documentation: https://medium.com/connect-platform/guides/home
🎬 Video (Change the world and stuff): https://www.youtube.com/watch?v=Orjtawd7_EU
🐦 Twitter (@CONNECT_pltfrm): https://twitter.com/connect_pltfrm
💬 Discord Community: https://discord.gg/z22kZh
How to setup 📋
▶️easy way with docker:
- create a folder,
cd
to it, - run this:
docker run -dit \
--name connect-platform \
-p 4000:4000 \
-v $(pwd)/panel-generated:/app/panel-generated \
-v $(pwd)/secure:/app/secure \
--env CONNECT_INSTALL_EXTERNAL_PACKAGES=true \
--env CONNECT_REMOTE_SHELL_ENABLED=true \
loreanvictor/connect-platform
▶️easy way without docker: https://github.com/CONNECT-platform/connect-platform-boilerplate
▶️easy way for developing a package: https://github.com/CONNECT-platform/connect-platform-package-boilerplate
▶️more comprehensive setup: https://medium.com/connect-platform/how-to-setup-connect-platform-d82d49e029ee
How to configure
You can set config values directly from environment variables using a simple (and probably familiar) templating language. You can just specify the value in curly braces as folllows "{{ ENV_VAR || default_value }}"
.
It is also possible to specify a request size limit through the request_limit
config property.
Socket support is enabled through the enable_sockets
property. Socket.io support can be further configured through the socket_config
config object. socket_config.use_redis
activates support for redis for which socket_config.redis
or socket_config.redis_pub
and socket_config.redis_sub
have to be specified to configure the redis connection for the pub/sub support (can be empty objects). Further information on how to use the socket.io-redis
package can be found here.
An example configuration is shown below for reference.
{
"config_from_env": "{{ CONNECT_CONFIG_FROM_ENV || default }} ",
"request_limit": "100mb",
"enable_sockets": true,
"socket_config": {
"use_redis": true,
"redis": {},
"redis_pub": {},
"redis_sub": {}
}
}
Environment variables that are already loaded by the provided launch script are shown in the following table.
| Variable Name | What it does? | |--- |--- | | CONNECT_PRODUCTION_MODE | Run CONNECT platform in production mode | | CONNECT_ENABLE_SOCKET | Enable socket.io support |
How to contribute
Take a look here.