Skip to content

A full-stack web application developed as the final project of the 42 curriculum, featuring a real-time Pong game, user authentication, chat functionalities, and more.​

Notifications You must be signed in to change notification settings

Ekkoz897/42cursus_ft_transcendence

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 ft_transcendence

Final project of the 42 School Common Core curriculum.
A full-stack web application featuring a real-time Pong game, user authentication, chat functionalities, and more. Pong Gameplay

🚀 Features

  • Real-Time Multiplayer Pong Game: Play classic Pong against others with modern visuals and smooth controls.
  • User Authentication: OAuth2 via 42 API with Two-Factor Authentication using Google Authenticator.
  • User Profiles: Customize usernames and avatars, view match history, and track statistics.
  • Friend System: Add friends, view their online status, and challenge them to matches.
  • ELO Ranking System: Competitive leaderboard based on player performance.

🛠️ Tech Stack

  • Frontend: Vue.js with TypeScript
  • Backend: NestJS with TypeScript
  • Database: PostgreSQL with TypeORM
  • Authentication: 42 OAuth2, JWT, Passport.js, Google Authenticator
  • Real-Time Communication: Socket.io
  • Containerization: Docker & Docker Compose

💾 Installation

  1. Clone the repository:

    git clone https://github.com/Ekkoz897/42cursus_ft_transcendence.git
    cd 42cursus_ft_transcendence
  2. Set up environment variables:

    cp .env.example .env
    # Edit .env with your configuration, including OAuth credentials
  3. Build and run with Docker:

    docker-compose up --build

🖥️ Usage

  1. Access the application:

    Frontend: http://localhost:8080
    Backend API: http://localhost:3000
    
  2. Log in using your 42 account and configure your profile or register a new profile.

About

A full-stack web application developed as the final project of the 42 curriculum, featuring a real-time Pong game, user authentication, chat functionalities, and more.​

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 47.1%
  • JavaScript 28.6%
  • HTML 15.4%
  • CSS 6.5%
  • Shell 1.5%
  • Dockerfile 0.6%
  • Makefile 0.3%