@mostajs/race-event
v0.1.0
Published
Module domaine ÉVÉNEMENT SPORTIF pour @mostajs (cyclisme, course à pied…) : schémas (Course, Cyclist, Position, Source, ProgramState, Sponsor…) + factory backend createRaceEventApp (enrôlement + login facial, régie/sources/bus programme, pont MCU/SFU, pub
Maintainers
Readme
@mostajs/race-event
Auteur : Dr Hamid MADANI [email protected]
Module domaine « événement sportif » (cyclisme, course à pied…) de l'écosystème
@mostajs/*. Extrait du démonstrateur realtime-cyclists : il compose les briques
@mostajs en une app prête à l'emploi. C'est ce module que met en œuvre race.amia.fr.
Ce qu'il fournit
- Schémas du domaine (
@mostajs/race-eventou/schema) :Course,Cyclist,Position,Source,ProgramState,Sponsor,Banner,Checkpoint,Crossing,Organizer,Campaign… - Factory backend (
@mostajs/race-event/server) :createRaceEventApp(opts)→ instance Fastify montant tout le backend :- Enrôlement coureur + photo (
@mostajs/storage) + clé WRITE (@mostajs/api-keys)- login facial 1:N (
@mostajs/face) ;
- login facial 1:N (
- Régie : CRUD sources, bus programme (PREVIEW/TAKE), pont MCU/SFU
(
@mostajs/media-mcu/media-sfu), QR ingest (@mostajs/qrpanel), look plateau ; - Roster coureurs (seed + connectés live) ;
- Publicité (
@mostajs/ads) + paiement sponsors (@mostajs/payment+@mostajs/subscriptions-plan).
- Enrôlement coureur + photo (
Usage (= l'app race.amia.fr)
import { getEnv } from '@mostajs/config'
import { createRaceEventApp } from '@mostajs/race-event/server'
const app = await createRaceEventApp()
await app.listen({ port: 4611, host: '127.0.0.1' })Schémas seuls (léger, sans les deps backend) :
import { Course, Cyclist, Position } from '@mostajs/race-event/schema'Dépendances (composition)
@mostajs/{config, data-plug, orm, storage, api-keys, face, qrpanel, ads, payment,
subscriptions-plan} + fastify. Côté front, l'app utilise aussi @mostajs/gps +
@mostajs/geo-tracker (PWA coureur) et @mostajs/geo (carte).
Mise en œuvre
race.amia.fr = copie de l'exemple cyclisme dont le backend inline est remplacé par
createRaceEventApp() (cf. examples/server.mjs) + les pages web/ (régie, spectateur
v1/v2, enroll PWA). Voir le ROADMAP RaceVision (R7).
