The data container for lazy developers!! It's like wordpress of data.
Pensado para desarrolladores que no quieren lidiar con la infraestructura de almacenamiento.
- Gestionar informaci贸n financiera
- Dom贸tica.
- Agricutura
- Miner铆a
- La wea 馃嚚馃嚤 que quieras desarrollador 馃 flojo 馃挭!!
Los datos provenientes de distintas fuentes se gestionan mediante contenedores
. Estos contenedores, conectan plugins
que ejecutan acciones sobre los datos.
Por ejemplo un contenedor weather-saver
con el que se obtiene la temperatura desde un API podr铆a conectar 3 plugins de la siguiente forma:
weather-api
-> temperature-parser
-> one-file-per-day
Los contenedores configuran la conexi贸n entre los distintos plugins y pueden ser construidos mediante archivos de configuraci贸n.
Los contendores son configurados en el archivo config.yaml
ubicado en la ra铆z del proyecto.
/plugins
/src
.gitignore
config.yaml
app.js
La siguiente configuraci贸n construye un contenedor conectando los plugins de la siguiente forma:
version: "1"
containers:
- weather-saver:
name: "Weather Getter"
description: "Obtain weather info for Vi帽a del Mar and save it one file per day."
source: weather-api
database: one-file-per-day
managers:
- temperature-parser:
input: weather-api
output: one-file-per-day
Visualmente se podr铆a describir el contenedor de la siguiente forma:
weather-saver
:
weather-api
-> temperature-parser
-> one-file-per-day
Son modulos que contienen el c贸digo y los archivos de configuraci贸n necesarios que ejecutan las acciones de gesti贸n de los datos. La idea es que los plugins sean los que realicen las acciones sobre los datos y se puedan comunicar entre ellos.
Los plugins se almacenan en la carpeta plugins:
/plugins
/one-file-per-day
/temperature-parser
/weather-api
Un plugin deber铆a tener por lo menos un index.js
, config.yaml
y Readme.md
/plugins
/one-file-per-day
/config.yaml
/index.js
/README.md
Los plugins que son desarrollados deben obtener desde config.yml
y las acciones se deben programar en el index.js
.
Los plugins pueden ser de tres tipos:
Fuentes de datos. Pueden ser APIs, Webhooks o incluso otro tipo de conectores como Sockects.
###聽Managers Prosesan los datos y realizan acciones sobre ellos. Pueden ser automatizaciones, webhooks que conecten a otras APIs, plugins que procesen informaci贸n para ser desplegadas en interfaces gr谩ficas.
Lugar en el que se almacene la informaci贸n requerida.
- Webhooks: Provenientes desde otros servidores o dispositivos.
- APIs: Se configuran consultas desde otros dispositivos.
- Save in Object: Almacena los datos en un objeto.
Por ejemplo si un usuario (desarrollador) desea...
1.- Descargar y a帽adir la carpeta del plugin el plugin a la carpeta de plugins. 2.- Personalizar las configuraciones requeridas en el archivo "config.yaml". 3.- A帽adir el plugin en alguno de los contenedores en el archivo "config.yaml" del directorio raiz.
1.- Descargar y a帽adir la carpeta del plugin el plugin a la carpeta de plugins. 2.- Personalizar las configuraciones requeridas en el archivo "config.yaml". 3.- A帽adir el plugin en alguno de los contenedores en el archivo "config.yaml" del directorio raiz.
- Gestion de usuarios b谩sica mediante archivos de configuraci贸n y/o variables de entorno.
- Los datos simplemente almacenan en memoria (RAM). En caso querer utilizar un sistema persistente se debe realizar mediante plugins.
- (Plugin) Realizar pruebas unitarias: Por ejemplo generar una zona para ejecutar un c贸digo que parsee la informaci贸n. En caso de querer enviar a otro servidor se debe pagar. En caso de ocupar mucha CPU se debe pagar.
- (Plugin) Automatizaciones: (En caso de querer reenviar a Base de datos se debe pagar).
- (Plugin) Almacenar logs de errores: Destacar palabras claves como Error, warning, etc. Generar un cuadro para insertar un JSON de prueba, similar al que llegar铆a desde el webhook.
- (Plugin) Gesti贸n de usuarios: Similar a los que
- (Plugin) A帽adir plugins que consulten otras APIs para potenciar los datos capturados por los dispositivos propios.
- (Plugin) Google Sheet: envia los datos a una hoja de Google Sheet.