← Back to selected work

ft_transcendence

A full-stack 42 capstone project combining real-time multiplayer Pong, chat, user profiles, authentication, and match statistics in a browser application.

Role
Full-Stack Engineer
Access
1337 / 42 validated project
[01]

Context

A full-stack 42 capstone project combining real-time multiplayer Pong, chat, user profiles, authentication, and match statistics in a browser application.

[02]

My responsibility

Built and validated through the 1337 / 42 project curriculum, with direct responsibility for implementation, debugging, testing, and evaluation requirements.

[03]

System scheme

Engineering scheme

Real-time multiplayer platform

Input → Processing → Output

Authenticated application state, live game sessions, chat, and persistent profiles meet at explicit HTTP and WebSocket boundaries.

  1. 01

    Authentication

    Establish identity, session state, and optional two-factor checks.

  2. 02

    Profile API

    Manage users, relationships, preferences, and match history.

  3. 03

    Matchmaking

    Create game sessions and connect eligible players.

  4. 04

    Game socket

    Synchronize input, authoritative state, scores, and disconnects.

  5. 05

    Chat socket

    Route rooms, direct messages, membership, and moderation events.

  6. 06

    Persistent records

    Store users, matches, rankings, and application state.

WebSockets
Authorization
Reconnect handling
State consistency
[04]

Implementation breakdown

  1. 01

    System design

    A React interface communicates with an application backend and PostgreSQL over HTTP, while WebSockets carry real-time game and chat events.

[05]

Technical scope

TypeScript01
React02
Next/Nest.js03
WebSockets04
PostgreSQL05
Tailwind CSS06
[07]

Implementation details

  • Real-time synchronized multiplayer physics simulation.
  • Chat across public and private channels.
  • JWT-based authentication and two-factor authentication workflows.
  • User profiles, match history, and statistics.
[08]

Engineering constraints

  • Synchronizing multiplayer state over WebSockets while handling disconnects and reconnects.
  • Protecting authenticated HTTP and real-time application boundaries.

Need a system like this?

Tell me about the workflow, integration, or backend problem.

Discuss a project