Adaptateurs

Choisir un adapter

Où vivent vos feedbacks — Prisma pour la production, memory pour les tests et démos, localStorage pour le tout-client.

Un adapter, c'est la couche de stockage derrière SitePing. Les trois implémentent le même contrat SitepingStore (6 méthodes), vous pouvez donc les échanger sans toucher au widget.

AdapterOù vivent les donnéesÀ utiliser pour
@siteping/adapter-prismaVotre base de données, via PrismaLa production — l'installation standard
@siteping/adapter-memoryUn tableau en mémoire du processusTests, previews, démos jetables
@siteping/adapter-localstorageLe navigateur du visiteurDémos et prototypes côté client — aucun serveur

Besoin d'un autre backend ? Écrivez le vôtre avec @siteping/adapter-kit.

Deux façons de monter un store

Mode serveur — le widget parle à un endpoint HTTP, et l'endpoint parle au store. C'est la forme de production :

// app/api/siteping/route.ts
import { createSitepingHandler } from "@siteping/adapter-prisma";
import { prisma } from "@/lib/prisma";

export const { GET, POST, PATCH, DELETE, OPTIONS } = createSitepingHandler({ prisma });

Mode côté client — le widget écrit directement dans un store du navigateur, aucun serveur nécessaire :

import { initSiteping } from "@siteping/widget";
import { LocalStorageStore } from "@siteping/adapter-localstorage";

initSiteping({ store: new LocalStorageStore(), projectName: "ma-demo" });

Vous écrivez votre propre adapter ? Installez @siteping/adapter-kit : les backends snapshot obtiennent un store complet via createCollectionStore, les backends à requêtes implémentent les 6 méthodes, et les deux se vérifient avec la suite de conformité partagée (44 tests). Voir Écrire un adapter.

Modifier sur GitHub

Sur cette page