Skip to content
IN DEVELOPMENT
← SELECTED WORK
PROJECT / 01

Multiplayer Trading Card Game

Real-time PvP card game. Two players, one match, turn-based state kept in sync over WebSockets.

ROLE
Full stack
TEAM
3 people
YEAR
2024
CONTEXT
SEP module · 9 ECTS
AngularTypeScriptSpring BootRESTWebSocketsGit
01 / PROBLEM

The problem

A turn-based card game played by two people at once needs both screens to agree on what just happened. That means moving game state between two browsers in real time, without either client being able to drift from the other.

02 / CONTRIBUTION

My contribution

  • Real-time PvP with WebSockets, synchronizing turn-based game state between two clients per match.
  • Angular / TypeScript features, Spring Boot REST endpoints, and the game state model.
  • User authentication and session handling.
03 / ARCHITECTURE

Architecture

PLAYER AANGULARPLAYER BANGULARSPRING BOOT├ GAME STATE└ AUTH / SESSIONSWEBSOCKET
Fig. 01 — Message flow between two clients and the server

Each player runs an Angular client. Both hold a WebSocket connection to a Spring Boot backend that owns the game state model and handles authentication and sessions.