? *A licença MIT é aplicada a plataformas para ativar a distribuição de rede. O restante do projeto permanece sob AGPL V3.
Uma alternativa simples, mas poderosa do Google Tag Manager, que é totalmente aberta e amiga da privacidade. Nossa alternativa embutida do Google Analytics não usa cookies e é totalmente compatível com GDPR, CCPA e PECR. Tornamos rápido e fácil experimentar uma demonstração ou simplesmente hospedá -lo em produção. Também ofereceremos uma versão hospedada em nuvem em um futuro próximo.
O Data Manager fornece back -end em fusão para enviar dados para qualquer lugar e temos um pipeline para aumentar os conectores e os recursos. Em apenas alguns cliques, projete um esquema, configure um back-end e crie um endpoint para enviar dados. O gerenciador de tags usa essa mesma tecnologia subjacente para fornecer análises.
Nossa missão tem sido criar uma ferramenta intuitiva de gerenciamento de tags que pode ser totalmente estendida por meio de plataformas personalizadas (construídas por nossa comunidade!). Somos uma equipe pequena que é apaixonada por criar ótimos softwares de código aberto e, com sorte, reduzir a participação de mercado de empresas muito maiores. Não somos fãs de aumento da vigilância corporativa ou governamental e acreditamos fundamentalmente que os usuários do seu site merecem melhor - no entanto, isso precisa ser equilibrado com o requisito de negócios para monetizar uma propriedade e dados pessoais sendo compartilhados.
Aqui está um exemplo de uma linha de como começar se você já tiver o Docker Compose instalado.
~ > curl -L https://github.com/scale8/scale8/raw/master/docker-compose.yml | docker-compose -f - up Depois que o comando acima iniciar os serviços, aponte seu navegador em http://127.0.0.1:8080 . Você será solicitado a inserir alguns detalhes básicos para configurar o projeto.
Ou se você já fez check -out o projeto e instalou as dependências via ~> yarn install:all e deseja executá -lo localmente: -
~ > yarn run:allArquitetamos toda a plataforma para oferecer suporte ao Docker e limitados sempre que possível, processos complexos de construção e montagem de volumes extras. Estamos difíceis de fornecer configurações de produção completas de produção completa para as configurações da AWS, Google Cloud e Kubernetes personalizadas.
| Componente | Descrição |
|---|---|
| API | Contém toda a lógica de negócios e fornece pontos de extremidade grafql / reprontfl que alimentam a interface do usuário |
| Comum | Uma pequena biblioteca comum compartilhada entre os componentes do projeto |
| Borda | Projetado para escalar horizontalmente, o servidor Edge é responsável por entregar plataformas na borda e também rastrear dados em |
| Plataformas | Plataformas personalizadas criadas pela comunidade e Scale8 que estendem a funcionalidade do gerenciador de tags |
| Roteador | Um roteador simples, criado usando o nginx e projetado para girar a versão auto-hospedada rapidamente |
| Ui | Fornece uma construção estática da interface do usuário usando o Next.js & React |
~> yarn install:all~> yarn build:all Como nem todo mundo tem a exigência de usar um gerenciador de tags completo, também fornecemos uma opção para gerar uma versão extremamente leve que requer apenas algumas linhas de JavaScript.
Também fornecemos suporte total para rastrear aplicativos de página única (SPAs) e escavação de hash. Eles podem ser ativados quando você instala seu aplicativo.
Fizemos o possível para simplificar o processo de organização e gerenciamento de tags em uma ou mais propriedades da Web. O gerenciador de tags é baseado em um mecanismo baseado em regras orientado a eventos , pelo qual uma regra é acionada quando eventos e condições e exceções são atendidas, resultando em uma ou mais ações sendo realizadas.
Um evento acionado no navegador pode ser facilmente gerenciado por nossa interface simples. Um link clicado, uma página que entra em foco ou um formulário enviado são todos exemplos de eventos que você deseja ouvir.
Uma condição é um teste feito em um contêiner de dados e visa afirmar que alguma chave pertencente a um objeto de contêiner de dados está alinhada com o valor esperado. Uma exceção visa fazer o mesmo teste, mas excluir a regra se o teste passar.
Ao atender aos eventos e condições necessários da regra, uma ação será disparada. Saiba mais sobre as ações aqui.
Originalmente, começamos com um back-end de front-end e scala dado por Scala. Para fornecer a transparência de código que desejávamos, juntamente com a decisão de abrir código aberto, o projeto exigia que mudássemos para quase puramente a digitação com apenas o servidor Edge em Java. Acreditamos fundamentalmente que o futuro deste projeto está com a comunidade de código aberto agora e há mais engenheiros de texto datilografado e Java do que engenheiros da Scala.
Pouco antes de lançar, mudamos de CRA para Next.js também. Também introduzimos a inversão de controle (IOC) em nosso back-end de texto datilografado. Nosso objetivo é que este projeto seja o mais extensível possível. Um modelo de plug and play nos oferece a oportunidade de fornecer vários serviços e evitar bloqueios.
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 ( ) ;Também adotamos uma abordagem semelhante com nosso código Java.
@ Replaces ( StorageInterface . class )
@ Singleton
@ Requires ( property = "backend-storage" , value = "google" )
public class GoogleStorage implements StorageInterface {
...
}Atualmente, fornecemos apenas o MongoDB e o BigQuery do Google para o Analytics. O MongoDB é adequado apenas para pequenos projetos e para fins de demonstração / teste. Temos suporte completo ao Clickhouse em nossa versão em nuvem ainda a ser lançada e adicionaremos esse suporte na versão auto-hospedada em breve, juntamente com o Redshift e o Postgres.
Também removemos nossos pipelines de agregação por hora da versão auto-hospedada. Isso adicionou um grau desnecessário de complexidade para a grande maioria dos casos de uso. Há um plano para potencialmente reintroduzir isso mais tarde e alguém exigir, informe-nos.
Toda a nossa documentação foi projetada para a versão em nuvem do produto, no entanto, adicionaremos uma documentação mais detalhada para a versão auto-hospedada em breve. Escondemos alguns recursos, como processamento de pagamento e rescisão SSL para domínios personalizados que não são relevantes para a versão auto-hospedada.
Toda a interface do usuário é alimentada pelo GraphQL usando a Apollo e a documentação da API é gerada e navegada facilmente automaticamente.
Tudo o que pedimos é que você estrela ou assista isso no Github se você gosta do projeto. Adoraríamos que as pessoas compartilhassem e blogem sobre isso também! Todos os problemas serão respondidos rapidamente no Github, e estamos empolgados em ver onde isso vai a seguir.
| Autor | Github | |
|---|---|---|
| Christopher Beck | ||
| Alessandro Barzanti |