? *La licencia MIT se aplica a las plataformas para habilitar la distribución de la red. El resto del proyecto permanece bajo AGPL V3.
Una alternativa simple pero poderosa de Google Tag Manager que es completamente abierta y amigable con la privacidad. Nuestra alternativa de Google Analytics incorporada no usa cookies y cumple con GDPR, CCPA y PECR. Hemos hecho que sea rápido y fácil probar una demostración o simplemente organizarla usted mismo en producción. También ofreceremos una versión alojada en la nube en el futuro cercano.
El administrador de datos proporciona backends conectables para enviar datos en cualquier lugar, y tenemos una tubería para aumentar los conectores y las funciones. En solo unos pocos clics, diseñe un esquema, configure un back-end y cree un punto final para enviar datos. El administrador de etiquetas utiliza esta misma tecnología subyacente para proporcionar análisis.
Nuestra misión ha sido crear una herramienta de gestión de etiquetas intuitiva que pueda extenderse por completo a través de plataformas personalizadas (¡construidas por nuestra comunidad!). Somos un pequeño equipo apasionado de construir un gran software de código abierto y, con suerte, reducir la cuota de mercado de empresas mucho más grandes. No somos fanáticos del aumento de la vigilancia corporativa o gubernamental, y creemos fundamentalmente que los usuarios de su sitio web merecen mejor; sin embargo, esto debe equilibrarse con el requisito comercial de monetizar una propiedad y datos personales que se comparten.
Aquí hay un ejemplo de una línea de cómo comenzar si ya tiene Docker Compose instalado.
~ > curl -L https://github.com/scale8/scale8/raw/master/docker-compose.yml | docker-compose -f - up Una vez que el comando anterior haya iniciado los servicios, apunte a su navegador en http://127.0.0.1:8080 . Se le pedirá que ingrese algunos detalles básicos para configurar el proyecto.
O si ya ha revisado el proyecto e instaló las dependencias a través de ~> yarn install:all y desea ejecutarlo localmente: -
~ > yarn run:allHemos diseñado toda la plataforma para admitir Docker y limitado donde sean posibles procesos de construcción complejos y el montaje de volúmenes adicionales. Estamos muy bien proporcionando configuraciones completas de producción de un solo clic para las configuraciones de Kubernetes personalizadas de AWS, Google Cloud y Kubernetes.
| Componente | Descripción |
|---|---|
| API | Contiene toda la lógica comercial y proporciona puntos finales GraphQL / RESTful que alimentan la interfaz de usuario |
| Común | Una pequeña biblioteca común que se comparte entre los componentes del proyecto |
| Borde | Diseñado para escalar horizontalmente, el servidor Edge es responsable de entregar plataformas en el borde y también rastrear datos en |
| Plataformas | Plataformas personalizadas creadas por la comunidad y escala8 que extienden la funcionalidad del administrador de etiquetas |
| Enrutador | Un enrutador simple, creado con NGINX y diseñado para hacer girar la versión autohospedada rápidamente |
| Ui | Proporciona una construcción estática de la interfaz de usuario usando Next.js & React |
~> yarn install:all~> yarn build:all Como no todos tienen el requisito de usar un administrador de etiquetas completo, también hemos proporcionado una opción para generar una versión extremadamente ligera que solo requiere unas pocas líneas de JavaScript.
También hemos proporcionado soporte completo para rastrear aplicaciones de una sola página (SPA) y rutas hash. Estos se pueden habilitar cuando instala su aplicación.
Hemos hecho todo lo posible para simplificar el proceso de organización y gestión de etiquetas en una o más propiedades web. El administrador de etiquetas se basa en un motor basado en reglas basado en eventos mediante el cual se activa una regla cuando se cumplen los eventos y condiciones y excepciones, lo que resulta en una o más acciones que se toman.
Nuestra interfaz simple puede administrar fácilmente un evento activado dentro del navegador. Un enlace haciendo clic, una página que se enfoca o un formulario enviado son ejemplos de eventos que puede escuchar.
Una condición es una prueba realizada en un contenedor de datos y tiene como objetivo afirmar que alguna clave que pertenece a un objeto de contenedor de datos está alineada con el valor esperado. Una excepción tiene como objetivo hacer la misma prueba, pero en su lugar excluir la regla si la prueba pasa.
Al cumplir con los eventos y la condición requeridos de la regla, se disparará una acción. Obtenga más información sobre las acciones aquí.
Originalmente comenzamos con un retroceso mecanografiado y back-end impulsado por Scala. Para proporcionar la transparencia del código que queríamos, junto con la decisión de la fuente abierta, el proyecto nos exigió que nos moviéramos a TypeScript casi puramente con solo el servidor Edge en Java. Creemos fundamentalmente que el futuro de este proyecto se encuentra con la comunidad de código abierto ahora y hay más ingenieros mecanografiados y Java que los ingenieros de Scala.
Justo antes de lanzar, hemos mudado de CRA a Next.js también. También hemos introducido la inversión de control (COI) en nuestro back-end de TypeScript. Nuestro objetivo es que este proyecto sea lo más extensible posible. Un modelo de plug and play nos brinda la oportunidad de proporcionar múltiples servicios y evitar bloqueos.
container . bind < BaseStorage > ( TYPES . BackendStorage ) . to ( MongoDBStorage ) . inSingletonScope ( ) ;
container . bind < BaseDatabase > ( TYPES . BackendDatabase ) . to ( MongoDb ) . inSingletonScope ( ) ;
container . bind < BaseLogger > ( TYPES . BackendLogger ) . to ( ConsoleLogger ) . inSingletonScope ( ) ;
container . bind < BaseEmail > ( TYPES . BackendEmail ) . to ( Mailer ) . inSingletonScope ( ) ;
container . bind < BaseConfig > ( TYPES . BackendConfig ) . to ( EnvironmentConfig ) . inSingletonScope ( ) ;También hemos adoptado un enfoque similar con nuestro código Java.
@ Replaces ( StorageInterface . class )
@ Singleton
@ Requires ( property = "backend-storage" , value = "google" )
public class GoogleStorage implements StorageInterface {
...
}En la actualidad, proporcionamos solo MongoDB y Google's BigQuery para Analytics. MongoDB solo es adecuado para pequeños proyectos y con el propósito de demostración / prueba. Tenemos soporte completo de Clickhouse en nuestra versión en la nube aún por lanzar, y agregaremos este soporte en la versión autohospedada en breve junto con Redshift y Postgres.
También hemos eliminado nuestras tuberías de agregación por hora de la versión autohostada. Esto agregó un grado innecesario de complejidad para la gran mayoría de los casos de uso. Hay un plan para reintroducir esto más tarde y si alguien lo requiera, háganoslo saber.
Toda nuestra documentación está diseñada para la versión en la nube del producto, sin embargo, agregaremos documentación más detallada para la versión autohospedada pronto. Hemos ocultado algunas características, como el procesamiento de pagos y la terminación SSL para dominios personalizados que no son relevantes para la versión autohospedada.
La interfaz de usuario completa está alimentada por GraphQL usando Apollo y la documentación de API se genera automáticamente y se navega fácilmente.
Todo lo que pedimos es que protagonice o vea esto en Github si le gusta el proyecto. ¡Nos encantaría que la gente compartiera y escriba un blog sobre esto también! Todos los problemas serán respondidos rápidamente en Github, y estamos emocionados de ver a dónde va esto a continuación.
| Autor | Github | |
|---|---|---|
| Christopher Beck | ||
| Alessandro Barzanti |