2024-11-22 23:22:31 +01:00
2024-08-27 17:27:45 +02:00
2024-11-22 22:48:40 +01:00

ft_transcendence - METH PROJECT

Un projet web complet combinant les technologies modernes et des fonctionnalités innovantes.

Table des matières

  1. Introduction
  2. Technologies utilisées
  3. Accès
  4. Installation
  5. Module majeur & mineur
  6. Autheurs

Introduction

ft_transcendence est un projet réalisé dans le cadre du cursus de l'École 42. Il s'agit d'une application web complète, combinant un front-end moderne avec une architecture back-end robuste, permettant aux utilisateurs de jouer a Pong, pour le plaisir, en local, en ligne, en ranked.


Technologies utilisées

  • Front-end : HTML, CSS, JS (Vanilla), ThreeJS
  • Back-end : Python (Django), WebSockets
  • Jeu : JS, ThreeJS
  • Base de données : PostgreSQL
  • Authentification : Création de compte par mail et confirmation et authentification par 42.
  • Autres : Docker pour la containerisation.

Accès

Nous avons la chance qu'un des membres de notre équipe puisse héberger le site sur son serveur. Vous pouvez donc accéder à notre site avec toutes les fonctionnalités depuis :

meth.tmoron.fr

Si vous avez le moindre bug sur le site, veillez contacter un membre de l'équipe pour la corriger.


Installation

Prérequis

  • Docker & Docker Compose
  • PostgreSQL

Étapes d'installation

  1. Clonez le dépôt :

    git clone https://github.com/METH_Transcendence/ft_transcendence.git  
    cd ft_transcendence  
    
  2. Installez les dépendances :

    npm install  
    
  3. Configurez les variables d'environnement :

    • Créez un fichier .env à la racine et renseignez les valeurs nécessaires :
      DB_NAME=""
      DB_USERNAME=""
      DB_PASSWORD=""
      DB_HOST=""
      
      UID_42=""
      SECRET_42=""
      
      ICLOUD_USER=""
      ICLOUD_PASS=""
      SERVER_URL="https://localhost:8000"
      
  4. Lancez le projet :

    make
    
  5. Accédez à l'application sur http://localhost:3000.


Module majeur & mineur

  • Utiliser un framework backend
  • Utiliser une base de données backend
  • Gestion utilisateur standard, authentification, utilisateurs en tournois
  • Implementer une authentification à distance
  • Joueur à distance
  • Ajout d'un second jeu avec historique et matchmaking
  • Option de personnalisation du jeu
  • Live chat
  • Implementer un adversaire contole par IA
  • Panneaux d'affichage (Dashboard), statistiques des parties
  • RGPD friendly
  • Utilisation de technique avancées 3D
  • Supoort sur tous types d'appareils (PC/Telephone, VR, Manette)
  • Responsive

Autheurs

Description
Welcome to METH's GitHub page! Come and try our game on PC, smartphone, and even VR, blending the old with the modern.
Readme MIT 471 MiB
Languages
JavaScript 89.4%
Python 6%
CSS 2.9%
HTML 1.4%
Dockerfile 0.2%