Jouez au Pong en ligne avec vos amis et discutez en temps réel.
https://www.transcendence42.fr/
Ce projet est une application web permettant aux utilisateurs de jouer au Pong contre d'autres utilisateurs en temps réel. L'application offre également un chat intégré, une fonctionnalité d'ajout d'amis, et bien d'autres fonctionnalités pour enrichir l'expérience utilisateur.
- 📘 React.js
- 🛣️ React Router
- 🌀 Vite
- 🔍 Redux
- 🔧 TypeScript
- 💨 TailwindCSS
- 🎨 Styled-components
- 🌈 Material-UI (MUI)
- 🐦 NestJS
- 🗃 TypeORM
- 🔐 JWT
- 🔒 Bcrypt
- 🔏 Chiffrement RSA
- 📂 Multer
- 🖼️ Serveur statique
- 🐳 Docker, Docker-compose
- 🗄️ PostgreSQL
- 🖥️ pgAdmin
cd ~
git clone https://github.com/Jeanmichel7/42_transcendence.git
cd 42_transcendance && make
Pour le développement, les volumes front et back sont reliés a l'host. FRONT_VOLUME
est défini comme ${HOME}/42_transcendence/front
.
Application disponible sur <nom d'hôte>:3006 et localhost:3006.
- Backend écrit en NestJS
- Frontend utilisant un framework TypeScript de votre choix
- Utilisation obligatoire de la base de données PostgreSQL
- Application Single Page
- Compatible avec la dernière version stable de Google Chrome et un autre navigateur de votre choix
- Aucune erreur ou avertissement ne doit être rencontré lors de la navigation sur le site
- Tout doit être lancé par une seule commande : ```docker-compose up --build```
- Jeu Pong en temps réel avec mode bonus
- Disponibilité LAN
- Chat intégré:
Créez des salons de discussion, envoyez des messages directs et invitez des amis à jouer. - Amis:
Établissez des relations authentiques avec un système complet de requêtes d'amis, d'attentes et d'options pour bloquer des utilisateurs, - Notifications:
Recevez des notifications en temps réel pour les événements importants. - Connexion:
Authentification simplifiée via OAuth2.0 ou utilisez un compte standard. - 2FA avec RSA:
Sécurisez votre compte avec une authentification TOTP (secret 2FA chiffré en RSA). - Local Storage:
Les préférences de l'utilisateur et certaines données sont sauvegardées localement pour une meilleure expérience utilisateur. - Leaderboard:
Affichez les classements des meilleurs joueurs et voyez où vous vous situez par rapport aux autres. - Graphiques de performance:
Analysez vos performances et progrès avec des graphiques détaillés.
Jeanmichel7 |
YannUFLL |
Wilhelm-Fermey |
Sous licence MIT.