@mostajs/events
v0.1.0
Published
Cœur métier mince de gestion d'événements (salon/atelier/conférence) : événements (organisateur externe/entreprise/Hadhinat, gratuit ou payant), inscriptions, billets, et contrôle d'accès par QR (invitation/badge/check-in). Encodeur QR→SVG zéro-dépendance
Maintainers
Readme
@mostajs/events
Auteur : Dr Hamid MADANI [email protected]
Cœur métier mince, zéro-dépendance de gestion d'événements (salon, atelier, conférence) : événements (organisateur externe / entreprise hébergée / Hadhinat, gratuit ou payant), inscriptions, billets, et contrôle d'accès par QR (invitation / badge / check-in à entrée unique). Le rendu QR est délégué à @mostajs/qrpanel/qr-svg (séparation domaine / présentation).
Aperçu
import { createEvents, createMemoryRepositories } from '@mostajs/events';
import { qrSvg } from '@mostajs/qrpanel/qr-svg';
const events = createEvents({ repositories: createMemoryRepositories(), numbering, payment, secret });
const e = await events.events.create({ title: 'Salon', organizer: { type: 'hadhinat', name: 'Hadhinat' }, capacity: 200, fee: 0 });
await events.events.publish(e.id);
const { ticket } = await events.registrations.register(e.id, { name: 'Sami', email: '[email protected]' });
const badge = qrSvg(ticket.token); // QR de badge (SVG)
const r = await events.checkin.validate(ticket.token); // contrôle d'accès → { ok: true } (puis 'already_used')Tests
npm test — @mostajs/mjs-unit (domaine événements ; le QR est testé dans @mostajs/qrpanel).
Licence
AGPL-3.0-or-later · © Dr Hamid MADANI
