This project is the culmination of the 42 school common core, a feature-rich multiplayer Pong game with real-time chat, user profiles, and tournament systems - all wrapped in a delightful Windows XP inspired interface.
- ๐ Overview
- โจ Features
- ๐ป Installation
- ๐ฎ How to Play
- ๐งฉ Technologies
- ๐ ๏ธ Configuration
- ๐ฅ Team
- โ FAQ
ft_transcendance transforms the classic Pong game into a modern web application. We've built it using NestJS for the backend, with a PostgreSQL database, and a responsive frontend - all containerized with Docker for easy deployment.
Our application recreates the nostalgic Windows XP experience with:
- Authentic Desktop Environment - Complete with start menu, taskbar, and desktop icons
- Window Management - Drag, resize, minimize, and close windows just like the classic OS
- Start Menu Navigation - Access all game features through the iconic Windows XP start menu
- System Notifications - Receive alerts through authentic XP-style notification bubbles
- Visual Authenticity - Carefully recreated XP visual elements including buttons, windows, and cursors
Windows XPong in action - Experience the nostalgic XP interface with modern web technologies
- Real-time Pong Gameplay - Experience smooth, responsive gameplay
- Ranked Mode - Climb the competitive ladder with skill-based matchmaking
- AI Opponents - Challenge our neural network powered AI with adaptive difficulty
- Tournaments - Compete in organized tournaments
- User Authentication - Secure login and registration, password and username changing
- Profile Customization - Customize your avatar and wallpaper
# Clone the repository
git clone https://github.com/Axiaaa/ft_transcendance.git
# Navigate to project directory
cd ft_transcendance
# Copy the example file
cp .env_example .env
# Edit with your preferred text editor
nano .env
# Start the application using Docker Compose
makeThen visit https://localhost:443 in your browser!
- Create an Account - Sign up or login through OAuth
- Find a Match - Use quick play or challenge a friend
- Play the Game - Control your paddle with mouse or keyboard
|
NodeJS Backend Runtime |
TypeScript Frontend Language |
BabylonJS 3D Game Engine |
|
SQLite Database |
Docker Containerization |
Docker Compose Container Orchestration |
Our tech stack is designed for performance and ease of deployment
The application can be configured through environment variables in the .env file:
-
Create your environment file:
# Copy the example file cp .env_example .env # Edit with your preferred text editor nano .env
-
Customize your configuration: For security reasons, we strongly recommend changing the following values:
ELASTIC_PASSWORDandKIBANA_PASSWORDENCRYPTION_KEYGRAFANA_USERandGRAFANA_PASSWORDAPI_USERNAMEandAPI_PASSWORDDISCORD_WEBHOOK_URL(if you wish to receive notifications)
This project was created with love by:
Jcuzin ๐ฅ๏ธ Windows XP UI/UX Designer |
Lcamerly ๐ ๏ธ Backend & DevOps |
Aammirat ๐ Cybersecurity and API Integration |
Mcourbon ๐ฎ Pong Game & Tournament Designer |
Yallo ๐ค AI Opponent & Optimization |
Our team worked together to bring this Windows XP nostalgia to life!
Q: Is my data secure?
A: Yes! We use industry-standard encryption for security.
Q: Can I play on mobile?
A: Absolutely! Our responsive design works on all devices.
Q: How is matchmaking determined?
A: Players are matched based on skill level determined by win/loss ratios.
ยฉ 2023 ft_transcendance Team | GitHub Repository
You've just experienced a blast from the past with our Windows XP-themed README!
















