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.
Find a file
Raphaël 73a4946d17
Monitoring tools (#32)
* feat(docker/monitoring): adding the first monitoring tools from the docker file

- The first tools is Grafana basicly the tool to supervise all the data

* feat(monitoring/blackbox): adding initial configuration

* feat(monitoring/grafana): adding the configuration to alerting on the discord channels

* feat(monitoring/grafana): adding the grafana dashboard (docker monitoring)

* feat(monitoring/grafana): adding the grafana dashboard (global monitoring)

* feat(monitoring/grafana): adding the global configuration for dashboards

* feat(monitoring/grafana): adding the prometheus configuration

* feat(monitoring/prometheus): adding the configuration of prometheus as the main grafana sources

* core(docker-compose): adding the monitoring part for the docker files

* feat(monitoring/grafana): removing the monitoring global

* feat(monitoring/prometheus): removing the blackbox

- The self certificate is ruinning everything

* core(docker-compose): removing the blackbox container

* core(env/example): adding a env example

* feat(monitoring/blackbox): adding initial configuration

* test(nginx/location): adding a test to test blackbox

* feat(monitoring/prometheus): adding blackbox to the prometheus configuration

* feat(monitoring/grafana): adding the start of the global dashboard

* feat(monitoring/blackbox): adding tls_configuration skip

- The ssl certificate have to be self-signed

* feat(monitoring/grafana): global is now checked and work w/ others services

* feat(monitoring/prometheus): checking other services run

* feat(nginx/conf): now http port will mirror the https

- Usefull for intern docker communication

* feat(auth/app): adding the /monitoring routes

* feat(icons/app): adding the /monitoring routes

* feat(user/app): adding the /monitoring routes

* refactor(auth/src): linting the app.ts

* refactor(icons/src): linting the app.ts

* refactor(user/src): linting the app.ts
2025-11-12 11:50:32 +01:00
.github/workflows core(ci/husky): Added husky and CI Jobs 2025-10-07 22:18:23 +02:00
.husky core(ci/husky): Added husky and CI Jobs 2025-10-07 22:18:23 +02:00
frontend fixes(frontend): fixed small types/incorrect code 2025-11-11 00:20:26 +01:00
monitoring Monitoring tools (#32) 2025-11-12 11:50:32 +01:00
nginx Monitoring tools (#32) 2025-11-12 11:50:32 +01:00
nginx-dev feat(frontend/auth): fix cookie not working due to path being /app 2025-11-11 00:20:26 +01:00
openapi-template feat(openapi): Add modified typescript-fetch template 2025-11-10 18:34:22 +01:00
src Monitoring tools (#32) 2025-11-12 11:50:32 +01:00
.envrc fix(direnv/envrc): adding the use flake to the repo 2025-11-03 15:58:39 +01:00
.gitignore chore(git): add package-lock.json to gitignore 2025-11-11 00:20:26 +01:00
docker-compose.yml Monitoring tools (#32) 2025-11-12 11:50:32 +01:00
Docker.mk feat(infra): singular dockerfile with vite bundling 2025-07-30 21:30:04 +02:00
env.example Monitoring tools (#32) 2025-11-12 11:50:32 +01:00
flake.nix feat(frontend): scaffolding to build frontend 2025-11-11 00:20:26 +01:00
Makefile feat(frontend): scaffolding to build frontend 2025-11-11 00:20:26 +01:00
package.json core(ci/husky): Added husky and CI Jobs 2025-10-07 22:18:23 +02:00
pnpm-workspace.yaml feat(frontend): scaffolding to build frontend 2025-11-11 00:20:26 +01:00
README.MD Rename README to README.MD 2025-07-09 17:22:01 +02:00

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 dun 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