← Swiftie Universe

SOUS LES PROJECTEURS

L’infrastructure réellement déployée.

Le site utilise l’hébergement Sites : une application React/Vinext servie par Cloudflare Workers, des ressources statiques et un backend Supabase. Aucun cluster Kubernetes ni conteneur Docker n’est lancé en production.

01 · INTERFACE

React + Vinext

Interface responsive, palettes des 12 albums, SVG des avatars et pages dédiées aux albums et aux chansons.

02 · EXÉCUTION

Cloudflare Workers

Routes serveur pour les profils, le quiz, les points, les achats et la messagerie. Les réponses correctes restent sur le serveur.

03 · DONNÉES

Supabase / PostgreSQL

Cinq tables du jeu, protégées par RLS. Les opérations passent par une Edge Function qui vérifie l’identité et les autorisations.

04 · IDENTITÉ

Adresse e-mail + mot de passe

Supabase Auth vérifie l’identité avant les écritures et les accès aux conversations. Seuls les amis acceptés peuvent lire ou envoyer des messages dans leur conversation.

Intégrité des pièces

Un niveau correspond à 2 000 points et rapporte 100 pièces. Le solde est calculé depuis les niveaux et les achats enregistrés. L’achat utilise une écriture SQL conditionnelle : un solde insuffisant ou un achat déjà acquis ne peut pas créer un débit supplémentaire. Les tenues sont persistantes et non transférables.

Messagerie

Les messages sont conservés dans Supabase et chargés par pages de 100. La conversation s’actualise toutes les 8 secondes quand l’onglet est visible. Chaque accès contrôle l’amitié acceptée. Les messages transitent en HTTPS en production ; il ne s’agit pas d’un chiffrement de bout en bout.

Assets et diffusion

Les pochettes et photographies sont livrées comme ressources statiques avec le déploiement. Les sources musicales s’ouvrent dans le service externe lorsque tu les choisis. Les sources photographiques sont créditées dans le quiz.

Pourquoi cette infrastructure ?

Elle couvre les besoins actuels sans administrer de machines ni de cluster. Docker et Kubernetes seraient des options pour un hébergement indépendant, avec adaptation de la base et de l’authentification. Aucun fichier de configuration non déployé n’est présenté comme un service actif.