ft_transcendence - METH PROJECT
A complete web project combining modern technologies and innovative features.
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
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
-
Clone the repository:
git clone https://github.com/Kum1ta/METH_Transcendence.git cd METH_Transcendence
-
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"
-
-
Launch the project :
make
-
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
- Mathis, madegryc [https://github.com/Misthaa] - Front-end/Design
- Eddy, edbernar [https://github.com/Kum1ta] - Full Stack
- Tom, tomoron [https://github.com/ARandomPig] - Back-end
- Hugo, hubourge [https://github.com/Bonjoire] - Game