README.md

April 13, 2025 ยท View on GitHub

homepage2_process

A full-stack multiplayer web app containerized with Docker and served via Nginx, featuring a TypeScript frontend and a Fastify (Node.js) backend with OAuth and JWT-based authentication

Built by students from 42 School to showcase real-time gameplay, secure web architecture, and modular deployment.

aboutcontact
profileBrickWall
tournamentaigame
๐ŸŽฌ Click to watch the Full Demo Video

Watch the full demonstration of our application's features and gameplay

How to Run It โš™๏ธ

Prerequisites

  • Docker installed and running

Installation Steps

# Clone the repository
git clone https://github.com/yvann-ba/ft_transcendence.git
cd ft_transcendence

# Create your .env file from example
cp .env.example .env
# Edit the .env file with your google auth values

# Start the application with Docker
make
# OR for Windows users
docker-compose -f ./docker-compose.yml up --build

# Access the application in your browser
https://localhost:8443

Note: For Google OAuth to work, create your credentials at Google Cloud Console and add them to your .env file.

How It Works ๐Ÿง 

Dockerized Architecture

๐Ÿ•น๏ธ Game Experience:

  • Real-time WebSocket gameplay with smooth performance
  • Customizable games (colors, rules, difficulty levels)
  • Player dashboards with W/L stats and detailed match history

๐ŸŒ User Experience:

  • Fully localized in English, French, and Spanish
  • Google & local authentication (JWT-secured)
  • GDPR compliance tools: data download, anonymization, deletion

๐Ÿ” Security Layer:

  • JWT-protected routes & sessions
  • HTTPS for all connections
  • Robust validation on both frontend & backend
  • XSS and SQL injection prevention
  • Secrets & tokens stored securely in .env

All this in a responsive Single Page Application that works seamlessly across modern browsers

๐Ÿ™Œ Check our Team


Featured on Awesome README

This project is featured on Awesome README list, a curated collection of nice README files with over 19,000 stars.