Skip to content

Projet personnel — Plateforme de matchmaking gaming

TeamsFinder

React
Next.js
TypeScript
Tailwind
Supabase
Ionic
Stripe
Screenshot 1

Les joueurs perdaient du temps à chercher un coéquipier dans plusieurs communautés. TeamsFinder rassemble le jeu, le niveau et les disponibilités au même endroit.

L'histoire du projet

Trouver le bon coéquipier plus simplement

Le besoin ne consistait pas seulement à créer des profils. Il fallait pouvoir trouver une personne disponible, sur le bon jeu et avec un niveau proche, sans passer par plusieurs espaces.

J'ai construit une plateforme web et mobile où ces critères sont réunis dans une même recherche. Les utilisateurs peuvent ensuite échanger et organiser leur équipe au même endroit.

TeamsFinder est aujourd'hui accessible en ligne, avec des événements, des notifications et un lien avec Discord. Plus de 50 utilisateurs l'ont déjà utilisée.

Contexte

01

Problème

Les joueurs cherchaient leurs coéquipiers dans plusieurs espaces, sans filtre commun.

02

Mon rôle

Conception et développement de la plateforme web et mobile.

03

Résultat

Une recherche réunissant jeu, niveau et disponibilité, avec échanges, événements et intégration Discord. Plus de 50 utilisateurs.

Architecture

TeamsFinder s'appuie sur trois parties qui travaillent ensemble : l'interface, le moteur de recherche et le lien avec Discord.

1. Écosystème Client — Next.js & Ionic
La plateforme est accessible via une interface web (Next.js) optimisée pour le SEO grâce au Server-Side Rendering, et via une application mobile (Ionic). Les deux interfaces partagent la même codebase React et s'abonnent aux mêmes flux de données en temps réel.

2. Moteur de Matchmaking — Supabase & Edge Functions
Le matchmaking est orchestré par des requêtes optimisées qui croisent instantanément les profils selon des critères stricts : jeu spécifique, niveau de compétence (tolérance de +/- 1 rang) et chevauchement des horaires de disponibilité. Les données sont sécurisées par Row Level Security (RLS). Dès qu'un match est trouvé, une notification temps réel est poussée via les WebSockets natifs de Supabase.

3. Écosystème Discord — Webhooks & Gestion de rôles
La plateforme est reliée à Discord pour diffuser les annonces LFG (Looking For Group) dans les salons prévus. La gestion des rôles par l'API Discord réserve certains canaux aux membres vérifiés.

1

Frontend Unifié : Codebase React partagée entre le web (Next.js) et le mobile (Ionic).

2

Temps Réel : Utilisation des subscriptions Supabase pour les notifications instantanées.

3

Algorithmique : Filtrage multicritères (Jeu, Rang, Disponibilité) exécuté côté serveur.

4

API Discord : Automatisation des Webhooks LFG (Looking For Group) avec embeds enrichis.

5

Sécurité : Row Level Security (RLS) sur Supabase pour protéger les données privées des joueurs.

Fonctionnalités

Recherche de coéquipiers par jeu et niveau

Système de profils joueurs

Filtres avancés (disponibilité, langue, rang)

Messagerie intégrée

📱 Captures Play Store

Play Store screenshot 1
Play Store screenshot 2