Skip to content

SandraKanna/Pong

Repository files navigation

42 Transcendence

This project is a multiplayer Pong game built as a Single Page Application (SPA) with a microservice backend and real-time WebSocket gameplay.
It includes AI opponents, user management with 2FA and JWT, multi-language support, and a retro arcade look styled with Tailwind CSS.


Features & Modules

Major Modules

  • Backend Framework (Microservices) – API, WebSocket server, scalable with Docker.
  • User Management – Registration, login, profiles, profile editing.
  • Remote Player Multiplayer – Real-time gameplay via WebSocket.
  • AI Opponent – for Solo matches.
  • 2FA & JWT Authentication – Secure login and session handling.
  • Server-Side Pong – Game logic and synchronization handled server-side.

Minor Modules

  • Tailwind CSS Integration – Retro Matrix arcade theme.
  • SQLite Database – Persistence for users, stats, and matches.
  • Stats Dashboards – View personal stats and match history.
  • Multi-language Support – English, French, and Spanish.
  • Cross-Browser Support – Optimized for major browsers.

Controls

  • Left Player: W / S
  • Right Player: Arrow Up / Arrow Down
    Controls are displayed next to player names during gameplay.

Installation & Usage

This project runs in Docker via make.

  1. Clone the repository:
git clone https://github.com/yourusername/transcendence.git
cd transcendence
  1. Build and start the project:
make
  1. Access the app at:
https://transcendence.42.fr
  1. Stop the containers:
make stop
  1. Clean up (containers + volumes):
make prepare && make fclean

Tech Stack

•	Frontend: TypeScript + Tailwind CSS (custom SPA router).
•	Backend: Node.js (Fastify) + WebSocket.
•	Database: SQLite.
•	Authentication: JWT, Two-Factor Authentication (2FA).
•	Deployment: Docker Compose + Nginx (with multi-instance scaling for the API and microservice architecture).

Collaboration

This project was developed in collaboration with:

  • Philippe Deson
  • Denise Erjavec

About

Pong webapp built as an SPA with dockerized backend microservices

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Contributors