IK
Inefable KoumbaIngénieur Logiciel · Data & Réseaux
arrow_backRetour aux projets
MULTIPLAYER GAMINGEXPO SDK 57CLOUDFLARE EDGETURSO

Koyeba

Plateforme mobile de quiz multijoueur en temps réel, tournois et défis de culture générale.

Koyeba
PRÉSENTATION DU PROJET

Koyeba est une application mobile de quiz et de tournois multijoueurs axée sur la vitesse, l'interactivité et un fonctionnement hybride en ligne/hors-ligne.

LE DÉFI / PROBLÈME

Les jeux multijoueurs mobiles souffrent souvent de latences élevées, de coûts d'infrastructure WebSocket importants et de pannes lors de connexions réseau instables.

LA SOLUTION TECHNIQUE

Une architecture moderne combinant React Native/Expo avec stockage SQLite local, synchronisée avec des backend Workers Cloudflare et Durable Objects sur la periphérie (Edge).

Impact & Métriques Clés

< 50ms

Latence de création et synchro des lobbies en Edge

60 FPS

Taux de rafraîchissement des animations de jeu

100%

Compatibilité et jouabilité hors-ligne

Spécifications Techniques Completes

Frontend & UI

  • React Native (0.86)
  • Expo SDK 57
  • Expo Router
  • React Native Unistyles 3.3
  • React Native Skia
  • Legend List
  • Zustand
  • TanStack Query

Backend & Services

  • TypeScript
  • Hono API
  • Cloudflare Workers
  • Cloudflare Durable Objects
  • Zod OpenAPI

Données & Cache

  • Turso (LibSQL)
  • Drizzle ORM
  • Expo SQLite
  • MMKV

Infrastructure & DevOps

  • Wrangler CLI
  • Cloudflare Edge Engine
  • EAS (Expo Application Services)

Intégrations Tiers

  • Google Sign-In
  • Apple Authentication
  • Expo Push Notifications

Décisions d'Architecture Clés

01. HIGHLIGHT

Lobbies Temps Réel avec Cloudflare Durable Objects

Gestion d'état multijoueur ultra-rapide et économique déployée directement en bordure de réseau (Edge) via des Durable Objects.

02. HIGHLIGHT

Architecture Mobile Offline-First avec Drizzle et SQLite Local

Stockage sur l'appareil des questions et statistiques pour permettre le jeu hors-ligne avec synchronisation transparente une fois reconnecté.

03. HIGHLIGHT

Rendu Graphique 60 FPS avec React Native Skia & Unistyles

Utilisation du moteur Canvas Skia et de Unistyles pour des animations fluides et adaptatives sans impacter le thread JS.

Fonctionnalités Principales

Matchmaking Multijoueur en Temps Réel

Création instantanée de salons de jeu publics et privés avec synchronisation en direct des scores et des questions.

Cloudflare Durable ObjectsHonoReact NativeZustand

Mode Entraînement Hors-Ligne

Parties solo jouables sans connexion Internet grâce au moteur de base de données SQLite embarqué.

Expo SQLiteDrizzle ORMMMKV

Tournois et Classements Globaux

Système automatisé de compétition avec distribution de récompenses et mises à jour périodiques via Cron.

Cloudflare Cron TriggersTursoDrizzle ORM

UI Interactive & Fluidité Graphique

Interface dynamique avec effets de particules, jauges chronométrées et retours haptiques.

React Native SkiaExpo AudioExpo HapticsUnistyles