Welcome to Transcendence, a remote Pong website that offers a thrilling multiplayer experience! 🎮✨ This project features a robust backend built with Django and a dynamic frontend using JavaScript, HTML, and CSS, including the amazing THREE.js library. The application is designed for seamless gameplay and interaction, offering a variety of user features and functionalities. 🚀
Transcendence aims to provide an engaging and interactive platform where users can play Pong remotely 🏓🌐, manage their profiles, chat in real time 💬, and enjoy a variety of game modes 🎮.
📦 Modules
Major Modules:
- Django 🐍
- Remote Authentication 🔑
- Remote Players 🎮
- Multiplayer 🌐
- AI Opponent 🤖
- 3D Graphics 🌟
- User Management 👤
- Microservices ☁️
- Chat 💬
Minor Modules:
- Bootstrap 🎨
- Database 🗄️
- Multiple Languages 🌍
- Browser Compatibility 🌐
- Backend: Django 🐍
- Frontend: JavaScript, HTML, CSS, THREE.js 🎨
- Web Server: Nginx (for TLS, reverse proxy, and serving static files) 🌐
- Database: PostgreSQL 🗄️
- Containerization: Docker (using Docker Compose) 🐳
- User Management: Registration, login, and profile management. 👤
- Chat System: Real-time chat functionality for users. 💬
- Friends System: Add, remove, block, and unfriend users. 🤝
- Active Status: Display user activity in real time. 🔴
- HTTPS Protocol: Secure communication over the network. 🔒
- Translations: Support for multiple languages. 🌍
- 1v1 Local Game 🕹️
- 1v1 Remote Game 🌐
- Remote Tournament System with Matchmaking 🏆
- Multiplayer Remote Game (up to 8 players) 🌍
- Versus AI with 4 difficulty levels (one found in tournaments) 🤖
July - September 2024
Here are some screenshots of the game in action:
Screenshot of the Local Game Mode 📸
Screenshot of the Remote Game Mode 📸
- Docker must be installed on your machine. 🛠️
-
Clone the repository:
git clone https://github.com/mdev9/ft_transcendence.git cd transcendence
-
Use the provided Makefile to run the server:
make
- To remove temporary files and resources, run:
make fclean
- To clear all resources, including Docker volumes, use:
make annihilate
Meet the talented individuals behind Transcendence:
- @francuza9 - Project Lead & Backend Developer
- @Y-Wassef - AI Developer & Database Administrator
- @mdev9 - Full Stack Developer & UI/UX Designer
Thank you for taking the time to explore Transcendence! We hope you enjoy the multiplayer experience and appreciate the effort put into creating a seamless and engaging game. Happy gaming! 🎮✨