À propos du projet
Il s'agit d'un construct CDK serverless d'analyse de site web déployant une solution full-stack sur AWS. Il crée un tableau de bord frontal, des API backend et des pipelines d'ingestion pour suivre le trafic du site et les interactions des utilisateurs. Conçu pour les sites à trafic faible à modéré (jusqu'à 10 millions de pages vues), il met l'accent sur un coût minimal, la confidentialité (aucune donnée personnelle identifiable stockée) et la facilité de déploiement.
Les fonctionnalités incluent le suivi des pages vues avec le temps passé sur la page, le suivi des événements, la détection d'anomalies avec alertes, la prise en charge des domaines personnalisés et trois options d'authentification (aucune, authentification basique, AWS Cognito). Il suit les référents, la géolocalisation par pays/ville, le type d'appareil, les paramètres UTM et les paramètres de requête. La détection des robots est intégrée. L'intégration est disponible via un extrait JavaScript autonome ou un SDK utilisable dans n'importe quel framework frontal.
L'architecture se compose d'un frontend Vue 3 hébergé sur S3/CloudFront, d'un backend TypeScript utilisant les URL de fonction Lambda et tRPC, et d'une API d'ingestion qui met en tampon les événements via Kinesis Firehose dans des fichiers Parquet partitionnés dans S3. Les données sont interrogées via Athena. Les données de localisation sont dérivées de MaxMind GeoLite2 sans stocker les adresses IP.
Le déploiement nécessite `aws-cdk` et `aws-cdk-lib` > 2.79.1. Après l'installation du package npm, les utilisateurs définissent le construct dans leur pile CDK avec une configuration pour les sites, les origines, l'authentification, le domaine, l'observabilité et la détection d'anomalies. La configuration côté client consiste à ajouter une balise script ou à initialiser le SDK dans l'application.
Des estimations de coûts sont fournies pour différents niveaux de trafic, les projections du pire cas étant nettement supérieures aux coûts réels en raison des processus quotidiens de nettoyage des données. Les mises à jour de la version v0 à v1 impliquent des changementsruptures liés au partitionnement et aux identifiants d'enregistrement DNS.
La documentation comprend les décisions de conception, les directives de contribution et une ventilation détaillée des coûts. Une démonstration en direct est disponible.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.