Design, develop, and organize a full-stack web application with complete creative freedom. Choose your project concept, select from a wide range of technical modules, and make key architectural decisions. This highly flexible project allows you to explore modern web development while demonstrating your technical skills and creativity through a modular approach.
| nginx | ||
| .envrc | ||
| .gitignore | ||
| docker-compose.yml | ||
| Docker.mk | ||
| flake.lock | ||
| flake.nix | ||
| Makefile | ||
| README | ||
# 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 |