? *Lisensi MIT diterapkan pada platform untuk memungkinkan distribusi jaringan. Sisa proyek tetap di bawah AGPL V3.
Alternatif Tag Manager Google yang sederhana namun kuat yang sepenuhnya bersumber terbuka dan ramah privasi. Alternatif Google Analytics kami yang dibangun tidak menggunakan cookie apa pun dan sepenuhnya sesuai dengan GDPR, CCPA, dan PECR. Kami membuatnya cepat dan mudah untuk mencoba demo atau hanya meng -hostnya sendiri dalam produksi. Kami juga akan menawarkan versi cloud yang di -host dalam waktu dekat.
Data Manager menyediakan backend pluggable untuk mengirim data ke mana pun, dan kami memiliki pipa untuk meningkatkan konektor dan fitur. Hanya dalam beberapa klik, rancang skema, konfigurasikan back-end dan buat titik akhir untuk mengirim data. Tag Manager menggunakan teknologi dasar yang sama ini untuk memberikan analitik.
Misi kami adalah membuat alat manajemen tag intuitif yang dapat sepenuhnya diperluas melalui platform khusus (dibangun oleh komunitas kami!). Kami adalah tim kecil yang bersemangat membangun perangkat lunak open-source yang hebat dan mudah-mudahan mengurangi pangsa pasar dari perusahaan yang jauh lebih besar. Kami bukan penggemar meningkatkan pengawasan perusahaan atau pemerintah, dan kami pada dasarnya percaya bahwa pengguna situs web Anda pantas mendapatkan yang lebih baik - namun ini perlu diimbangi dengan persyaratan bisnis untuk memonetisasi properti dan data pribadi yang dibagikan.
Berikut adalah contoh satu baris tentang cara memulai jika Anda sudah memiliki komposisi Docker.
~ > curl -L https://github.com/scale8/scale8/raw/master/docker-compose.yml | docker-compose -f - up Setelah perintah di atas telah memulai layanan, arahkan browser Anda di http://127.0.0.1:8080 . Anda akan diminta untuk memasukkan beberapa detail dasar untuk mengonfigurasi proyek.
Atau jika Anda telah memeriksa proyek dan menginstal dependensi melalui ~> yarn install:all dan ingin menjalankannya secara lokal: -
~ > yarn run:allKami telah mengarsipkan seluruh platform untuk mendukung Docker dan terbatas jika kemungkinan proses pembangunan kompleks dan pemasangan volume tambahan. Kami scripting sulit untuk memberikan pengaturan siap satu klik lengkap untuk pengaturan AWS, Google Cloud dan Kustom Kubernet.
| Komponen | Keterangan |
|---|---|
| API | Berisi semua logika bisnis dan menyediakan titik akhir graphql / Restful yang memberi daya pada UI |
| Umum | Perpustakaan umum kecil yang dibagikan antara komponen proyek |
| Tepian | Dirancang untuk skala secara horizontal, server Edge bertanggung jawab untuk memberikan platform di tepi dan juga melacak data |
| Platform | Platform khusus yang dibuat oleh komunitas dan skala8 yang memperluas fungsionalitas manajer tag |
| Router | Router sederhana, dibuat menggunakan Nginx dan dirancang untuk memutar versi yang di-hosting sendiri dengan cepat |
| Ui | Memberikan build statis UI menggunakan Next.js & React |
~> yarn install:all~> yarn build:all Karena tidak semua orang memiliki persyaratan untuk menggunakan manajer tag lengkap, kami juga telah memberikan opsi untuk menghasilkan versi yang sangat ringan yang hanya membutuhkan beberapa baris JavaScript.
Kami juga telah memberikan dukungan penuh untuk melacak aplikasi satu halaman (SPAS) dan rute hash. Ini dapat diaktifkan saat Anda menginstal aplikasi Anda.
Kami telah melakukan yang terbaik untuk menyederhanakan proses mengatur dan mengelola tag di satu atau lebih properti web. Tag Manager didasarkan pada mesin berbasis aturan yang digerakkan oleh aturan di mana aturan dipicu ketika peristiwa dan kondisi dan pengecualian terpenuhi, menghasilkan satu atau lebih tindakan yang diambil.
Peristiwa yang dipicu di dalam browser dapat dengan mudah dikelola oleh antarmuka sederhana kami. Tautan yang diklik, halaman yang masuk ke fokus, atau formulir yang dikirimkan adalah semua contoh acara yang mungkin ingin Anda dengarkan.
Suatu kondisi adalah tes yang dibuat pada wadah data dan bertujuan untuk menegaskan bahwa beberapa kunci milik objek wadah data diselaraskan dengan nilai yang diharapkan. Pengecualian bertujuan untuk melakukan tes yang sama, tetapi sebaliknya mengecualikan aturan jika tes lulus.
Setelah memenuhi peristiwa dan kondisi aturan yang diperlukan, suatu tindakan akan dipecat. Pelajari lebih lanjut tentang tindakan di sini.
Kami awalnya memulai dengan front-end naskah dan back-end yang digerakkan Scala. Untuk memberikan transparansi kode yang kami inginkan, ditambah dengan keputusan untuk open-source proyek mengharuskan kami untuk pindah ke naskah yang hampir murni dengan hanya server tepi di Java. Kami pada dasarnya percaya masa depan proyek ini duduk dengan komunitas open-source sekarang dan ada lebih banyak naskah dan insinyur Java daripada insinyur Scala.
Tepat sebelum rilis kami telah pindah dari CRA ke Next.js juga. Kami juga telah memperkenalkan inversi kontrol (IOC) di back-end TypeScript kami. Tujuan kami adalah agar proyek ini dapat diperpanjang mungkin. Model plug and play memberi kami kesempatan untuk menyediakan beberapa layanan dan mencegah penguncian.
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 ( ) ;Kami juga telah mengambil pendekatan serupa dengan kode Java kami.
@ Replaces ( StorageInterface . class )
@ Singleton
@ Requires ( property = "backend-storage" , value = "google" )
public class GoogleStorage implements StorageInterface {
...
}Saat ini, kami hanya menyediakan BigQuery MongoDB dan Google untuk analitik. MongoDB hanya cocok untuk proyek -proyek kecil dan untuk tujuan pengujian / pengujian. Kami memiliki dukungan clickhouse penuh di versi cloud kami yang belum dirilis, dan kami akan menambahkan dukungan ini dalam versi yang diselenggarakan sendiri segera bersama dengan pergeseran merah dan postgres.
Kami juga telah menghapus jaringan pipa agregasi per jam kami dari versi yang diselenggarakan sendiri. Ini menambahkan tingkat kompleksitas yang tidak perlu untuk sebagian besar kasus penggunaan. Ada rencana untuk berpotensi memperkenalkan kembali ini nanti dan jika ada orang yang membutuhkannya, beri tahu kami.
Semua dokumentasi kami dirancang untuk versi cloud produk, namun kami akan segera menambahkan dokumentasi yang lebih rinci untuk versi yang di-hosting sendiri. Kami telah menyembunyikan beberapa fitur seperti pemrosesan pembayaran dan penghentian SSL untuk domain khusus yang tidak relevan dengan versi yang di-host sendiri.
Seluruh UI ditenagai oleh GraphQL menggunakan Apollo dan dokumentasi API secara otomatis dihasilkan dan mudah dinavigasi.
Yang kami minta hanyalah Anda membintangi atau menonton ini di GitHub jika Anda menyukai proyek tersebut. Kami juga menyukai orang untuk berbagi dan menulis blog tentang ini! Semua masalah akan ditanggapi dengan cepat di GitHub, dan kami senang melihat ke mana perginya selanjutnya.
| Pengarang | GitHub | |
|---|---|---|
| Christopher Beck | ||
| Alessandro Barzanti |