# Modules ft_transcendence

| Type de module | Titre du module             | Technologie                          | Description                                                                 |
|----------------|-----------------------------|--------------------------------------|-----------------------------------------------------------------------------|
| Mandatory      | Base Website                | Technologies imposées                | Créer un site web avec TypeScript, SPA, backend PHP (optionnel), Docker, sécurité (HTTPS, validation, hash, etc.) |
| Major          | Backend Framework           | Fastify (Node.js)                    | Créer un backend avec Fastify/Node.js                                      |
| Major          | Blockchain Score            | Avalanche + Solidity                 | Enregistrer les scores de tournoi sur Avalanche via des smart contracts    |
| Major          | Standard User Management    | Technos libres (features imposées)   | Auth, profil, avatar, amis, stats, historique...                           |
| Major          | Remote Auth                 | Google Sign-in                       | Authentification via Google                                                |
| Major          | Remote Players              | Technos libres                       | Permettre à deux joueurs de jouer à distance                               |
| Major          | Multiplayer Game            | Technos libres                       | Mode de jeu à plus de 2 joueurs                                            |
| Major          | Add Another Game            | Technos libres                       | Ajouter un second jeu avec matchmaking et historique                       |
| Major          | Live Chat                   | Technos libres                       | MP, block, invite à jouer, profils depuis le chat                          |
| Major          | AI Opponent                 | Technos libres (A* interdit)         | IA qui simule un joueur humain (refresh 1s, entrées clavier simulées)      |
| Major          | WAF & Vault                 | WAF + ModSecurity + Vault            | Sécuriser via WAF, ModSecurity, Vault pour les secrets                     |
| Major          | 2FA + JWT                   | 2FA + JWT                            | Authentification double facteur avec tokens JWT sécurisés                  |
| Major          | ELK Stack Logging           | Elasticsearch + Logstash + Kibana   | Stack ELK pour logs, analyse et visualisation                              |
| Major          | Microservices Backend       | Technos libres                       | Refactor backend en microservices                                          |
| Major          | Advanced 3D                 | Babylon.js                           | Pong en 3D avec Babylon.js                                                 |
| Major          | Server-Side Pong            | Technos libres                       | Pong serveur + API                                                         |
| Major          | CLI vs Web Pong             | Technos libres                       | Jouer depuis le CLI contre un joueur Web via API                           |
| Minor          | Frontend Toolkit            | Tailwind CSS (avec TypeScript)       | Utiliser Tailwind CSS avec TypeScript pour le frontend                     |
| Minor          | Database                    | SQLite                               | Ajouter un backend utilisant SQLite comme base de données                  |
| Minor          | Game Customization          | Technos libres                       | Options de jeu : powerups, maps, etc.                                      |
| Minor          | Stats Dashboards            | Technos libres                       | Dashboards utilisateurs + parties                                          |
| Minor          | GDPR & Anonymization        | Technos libres                       | Suppression de compte, anonymisation, gestion des données personnelles     |
| Minor          | Monitoring                  | Prometheus + Grafana                 | Supervision avec Prometheus et visualisation avec Grafana                  |
| Minor          | Support All Devices         | Technos libres                       | Responsive + support tactile, clavier, souris                              |
| Minor          | Browser Compatibility       | Technos libres                       | Support d’un navigateur supplémentaire                                     |
| Minor          | Multilingual                | Technos libres                       | Site multilingue avec au moins 3 langues                                   |
| Minor          | Visual Impairment           | Technos libres                       | Accessibilité visuelle : contrastes, navigation clavier, etc.              |
| Minor          | SSR                         | Technos libres                       | Server Side Rendering pour perf + SEO                                      |
