README.md
April 13, 2025 ยท View on GitHub
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.
๐ฌ 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 ๐ง
๐น๏ธ 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
This project is featured on Awesome README list, a curated collection of nice README files with over 19,000 stars.