? *Лицензия MIT применяется к платформам для включения сетевого распределения. Остальная часть проекта остается под AGPL V3.
Простая, но мощная альтернатива Google Tag Manager, которая полностью подходит и удобна для конфиденциальности. Наша встроенная альтернатива Google Analytics не использует файлы cookie и полностью GDPR, CCPA и PECR. Мы сделали его быстро и легко попробовать демо или просто разместить ее самостоятельно в производстве. В ближайшем будущем мы также предложим версию, размещенную облаком.
Диспетчер данных предоставляет подключаемые бэкэнды для отправки данных в любом месте, и у нас есть конвейер для увеличения как разъемов, так и функций. Всего за несколько кликов разработайте схему, настраивайте заднюю часть и создайте конечную точку для отправки данных. Диспетчер тегов использует эту же базовую технологию для обеспечения аналитики.
Наша миссия состояла в том, чтобы создать интуитивно понятный инструмент управления тегами, который может быть полностью расширен с помощью пользовательских платформ (созданных нашим сообществом!). Мы небольшая команда, которая увлечена построением отличного программного обеспечения с открытым исходным кодом и, надеюсь, сокращением доли рынка гораздо более крупных компаний. Мы не являемся поклонником увеличения корпоративного или государственного наблюдения, и мы в корне верим, что пользователи вашего веб -сайта заслуживают лучшего - однако это должно быть сбалансировано с требованием бизнеса для монетизации недвижимости и передаваемых данных.
Вот однострочный пример того, как начать, если у вас уже установлен Docker Compose.
~ > curl -L https://github.com/scale8/scale8/raw/master/docker-compose.yml | docker-compose -f - up После того, как вышеупомянутая команда запустила Сервисы, укажите свой браузер по адресу http://127.0.0.1:8080 . Вам будет предложено ввести некоторые основные детали для настройки проекта.
Или, если вы уже проверили проект и установили зависимости через ~> yarn install:all и хотите запустить его локально: -
~ > yarn run:allМы зачислили всю платформу для поддержки Docker и Limited, где возможные сложные процессы сборки и монтаж дополнительных объемов. Мы сценарием сложно предоставить полные настройки на одно щелчком производства как для настройки AWS, так и для Custom Kubernetes.
| Компонент | Описание |
|---|---|
| API | Содержит всю бизнес -логику и предоставляет конечные точки GraphQL / RESTFUL, которые питают пользовательский интерфейс |
| Общий | Небольшая общая библиотека, которая разделяется между компонентами проекта |
| Край | Разработанный для масштабирования горизонтали, сервер Edge отвечает за доставку платформ на краю, а также отслеживание данных в |
| Платформы | Пользовательские платформы, созданные сообществом и Scale8, которые расширяют функциональность менеджера тегов |
| Маршрутизатор | Простой маршрутизатор, созданный с использованием Nginx и предназначенного для быстрого раскрытия самостоятельной версии |
| UI | Обеспечивает статическую сборку пользовательского интерфейса с использованием next.js & React |
~> yarn install:all~> yarn build:all Поскольку не у всех есть требование использовать полный диспетчер тегов, мы также предоставили возможность генерировать чрезвычайно легкую версию, которая требует всего несколько строк JavaScript.
Мы также обеспечили полную поддержку для отслеживания приложений для одностраничных страниц (SPA) и хеш-маршрута. Они могут быть включены при установке приложения.
Мы сделали все возможное, чтобы упростить процесс организации и управления тегами в одном или нескольких веб -свойствах. Диспетчер тегов основан на двигателе , основанном на событиях , на основе правил , посредством которого правило запускается, когда все события, условия и исключения выполняются, что приводит к принятию одного или нескольких действий.
Запускаемое событие в браузере может быть легко управляется нашим простым интерфейсом. Нажатая ссылка, страница, входящая в фокус или представленную форму, являются примерами событий, которые вы можете прослушать.
Условие - это тест, проведенный в контейнере для данных, и направлено на то, что некоторые ключевые, принадлежащие объекту контейнера данных, соответствуют ожидаемому значению. Исключение направлено на то, чтобы провести тот же тест, но вместо этого исключить правило, если тестовый проход.
После встречи с необходимыми событиями и условием правила будет запущено действие. Узнайте больше о действиях здесь.
Первоначально мы начали с фронт-конца TypeScript и Scala, управляемой Back-End. Чтобы обеспечить прозрачность кода, которую мы хотели, в сочетании с решением об открытом исходном источнике, проект требовал, чтобы мы перешли в почти чистого типографии только с помощью Edge Server в Java. Мы в основном верим, что будущее этого проекта сейчас находится с сообществом с открытым исходным кодом, и существует больше инженеров TypeScript и Java, чем инженеры Scala.
Незадолго до выпуска мы перешли из CRA в next.js. Мы также представили инверсию контроля (МОК) в нашем концентрации TypeScript. Наша цель состоит в том, чтобы этот проект был максимально расширяемым. Модель Plug and Play предоставляет нам возможность предоставить несколько услуг и предотвратить блокировки.
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 ( ) ;Мы также приняли аналогичный подход с нашим кодом Java.
@ Replaces ( StorageInterface . class )
@ Singleton
@ Requires ( property = "backend-storage" , value = "google" )
public class GoogleStorage implements StorageInterface {
...
}В настоящее время мы предоставляем только MongoDB и Google BigQuery для аналитики. MongoDB подходит только для небольших проектов и для демонстрации / тестирования. У нас есть полная поддержка Clickhouse в нашей еще выпущенной облачной версии, и мы добавим эту поддержку в версии самостоятельно, вместе с Redshift и Postgres.
Мы также удалили наши почасовые трубопроводы из самостоятельной версии. Это добавило ненужную степень сложности для подавляющего большинства вариантов использования. Существует план, чтобы потенциально повторно ввести это позже, и если кто-то потребуется, пожалуйста, дайте нам знать.
Вся наша документация предназначена для облачной версии продукта, однако мы скоро добавим более подробную документацию для самостоятельной версии. Мы спрятали некоторые функции, такие как обработка платежей и завершение SSL для пользовательских доменов, которые не имеют отношения к самостоятельной версии.
Весь пользовательский интерфейс питается GraphQL с использованием Apollo, а документация API автоматически генерируется и легко перемещается.
Все, что мы спрашиваем, это то, что вы снимаетесь или смотрите это на GitHub, если вам нравится проект. Мы тоже хотели бы поделиться и в блоге об этом! Все проблемы будут быстро отвечены в GitHub, и мы рады увидеть, где это пойдет дальше.
| Автор | GitHub | |
|---|---|---|
| Кристофер Бек | ||
| Алессандро Барзанти |