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.
* 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 |
||
|---|---|---|
| .github/workflows | ||
| .husky | ||
| frontend | ||
| monitoring | ||
| nginx | ||
| nginx-dev | ||
| openapi-template | ||
| src | ||
| .envrc | ||
| .gitignore | ||
| docker-compose.yml | ||
| Docker.mk | ||
| env.example | ||
| flake.nix | ||
| Makefile | ||
| package.json | ||
| pnpm-workspace.yaml | ||
| README.MD | ||
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 |