2024-11-22 23:59:19 +01:00
2024-08-27 17:27:45 +02:00
2024-11-22 23:59:19 +01:00

ft_transcendence - METH PROJECT

A complete web project combining modern technologies and innovative features.

meth_home

Home page

Welcome to METH's GitHub page! Come and try our game on PC, smartphone, and even VR, blending the old with the modern.

Table of Contents

  1. Introduction
  2. Technologies Used
  3. Access
  4. Installation
  5. Major & Minor Modules
  6. Authors

Introduction

ft_transcendence is a project developed as part of the 42 school curriculum. It is a complete web application, combining a modern front-end with a robust back-end architecture, enabling users to play Pong for fun, locally, online, or in ranked mode.


Technologies Used

  • Front-end: HTML, CSS, JS (Vanilla), ThreeJS
  • Back-end: Python (Django), WebSockets
  • Game: JS, ThreeJS
  • Database: PostgreSQL
  • Authentication: Account creation via email confirmation and 42 authentication.
  • Others: Docker for containerization.

Access

We are fortunate to have a team member hosting the website on their server.
You can access the site with all its features at:

meth.tmoron.fr

If you encounter any bugs on the site, please contact a team member to resolve them.


Installation

Prerequisites

  • Docker & Docker Compose

Installation Steps

  1. Clone the repository:

    git clone https://github.com/Kum1ta/METH_Transcendence.git 
    cd METH_Transcendence 
    
  2. Configure environment variables :

    • Create a .env file in the root directory and fill in the required values :

      DB_NAME=""
      DB_USERNAME=""
      DB_PASSWORD=""
      DB_HOST=""
      
      UID_42=""
      SECRET_42=""
      
      ICLOUD_USER=""
      ICLOUD_PASS=""
      SERVER_URL="https://localhost:8000"
      
  3. Launch the project :

    make
    
  4. Access the application at https://localhost:8000/


Major and Minor Modules

  • Use a backend framework
  • Use a backend database
  • Standard user management, authentication, and tournament users
  • Implement remote authentication
  • Remote multiplayer support
  • Add a second game with history and matchmaking
  • Game customization options
  • Live chat
  • Implement an AI-controlled opponent
  • Dashboards and game statistics
  • GDPR compliance
  • Advanced 3D techniques
  • Support for all devices (PC/Phone, VR, Gamepad)
  • Responsive design

Authors

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%