Skip to content

LaOuede/42-ft_transcendence

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ft_transcendence

The ft_transcendance is a collaborative project at 42 School, involving the development of a website. Users are able to create accounts through the 42 API, engage in real-time multiplayer Pong games, and communicate through both public and private chat rooms.


Collaborators 👨🏼‍🚀

This project has been realized as a team effort with acouture, emlamoth, fbouchar and kmehour 🚀


Setup 🛠️

To launch the project, simply :

  • Use the command make which is configured in the Makefile to start the Docker containers.
  • Access the Django application at http://localhost.

Stack 🧰

Frontend :
  • JavaScript, HTML, CSS: For creating and styling the user interface.
  • Three.js: For rendering 3D graphics in the browser.

Backend :

  • Django: Framework for building robust and scalable server-side applications.
  • PostgreSQL: Database for managing and storing application data.

Implemented Modules 📝

  • Use a backend framework (Django)
  • Use a database in the backend (PostgreSQL)
  • Standard user management, authentication, users in tournaments
  • Implement remote authentication
  • Multiple players
  • Game customization options
  • Implement two-factor authentication (2FA) and JWT (JSON Web Tokens)
  • Use of advanced 3D techniques (Three.js)
  • Support for multiple languages (en, fr, es)

What we've learned 📚

Through this project, I've gained proficiency in:

  • Full Stack Web Development:
    • Developing frontend using JavaScript, HTML and CSS and the backend using Django.
  • Real-time Communication:
    • Implementing websockets for real-time data exchange and live interactions between clients.
  • User Authentication and Security:
    • Integrating user authentication systems.
    • Implementing two-factor authentication (2FA).
    • Secure handling of JSON Web Tokens (JWT) for maintaining user sessions.
  • Database Management:
    • Designing and managing databases using PostgreSQL.
    • Ensuring data integrity and security.
  • 3D Graphics and Animation:
    • Using Three.js for rendering 3D graphics in the browser.
    • Understanding basic principles of 3D modeling and animation.
  • Project Management and Collaboration:
    • Utilizing version control systems like Git effectively in a team environment.
    • Employing agile development practices.
    • Managing project tasks and timelines using Git Project.

Overview 🚀

Screen Shot 2024-05-16 at 9 15 28 AM Screen Shot 2024-05-16 at 9 16 24 AM Screen Shot 2024-05-16 at 9 17 25 AM Screen Shot 2024-05-16 at 9 17 54 AM Screen Shot 2024-05-16 at 9 18 41 AM Screen Shot 2024-05-16 at 9 19 04 AM Screen Shot 2024-05-16 at 9 19 27 AM Screen Shot 2024-05-16 at 9 29 46 AM

Go to 42 Québec to discover the course ! 👈


This was the last project of the 42 common core!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published