Skip to content

Developed a modular multiplayer game platform using Python, with Dockerized deployment and real-time log monitoring via ELK πŸ“

License

Notifications You must be signed in to change notification settings

liocle/42_transcendence

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Beepong – Real-Time Multiplayer Game with System Observability

A Hive Helsinki group project combining game development, real-time systems, and DevOps tooling.
Features real-time gameplay, tournaments, and full-stack observability via the ELK Stack.

Beepong Gameplay Vision


Table of Contents


Project Overview

Beepong is a modular multiplayer Pong game built to showcase real-time interactions and observability across services.
It supports:

  • AI opponent fallback for solo games
  • Tournament mode with brackets
  • Real-time multiplayer via WebSockets
  • Clear frontend-backend separation
  • Centralized log monitoring for observability

Collaborators


Tech Stack

Area Stack/Tool
Frontend Vanilla JS
Backend Django REST Framework, WebSockets
Database PostgreSQL
DevOps Docker, Docker Compose
Monitoring ELK Stack (Elasticsearch, Logstash, Kibana)
Testing Cypress (E2E), Jest, Django tests

Game Features

  • Multiplayer Pong: Real-time gameplay against human or AI
  • Lobby System: Create, join, and manage game lobbies
  • Tournament Mode: Compete through bracket-based matches
  • Chat & Presence: Interact with players in real-time
  • AI Mode: Fall back to AI if no human opponent is found

System Architecture

Beepong uses a containerized microservice architecture:

  • Frontend: Vanilla JavaScript SPA served via Nginx
  • Backend: Django-based API + WebSocket server
  • Database: PostgreSQL for user/game state persistence
  • NGINX: Reverse proxy, static serving, load routing
  • ELK Stack: Monitoring and log aggregation for all services

System Observability

My part of this project involved integrating the ELK stack:

  • Real-time log ingestion with Logstash
  • Searchable service logs with Elasticsearch
  • Dashboard creation in Kibana for insights

πŸ“Š Example Visual Dashboards:

  • Postgres FATAL errors over time
  • Authentication success/failure rates
  • WebSocket traffic volume
  • Routing and 404s from NGINX

Observability Panel


Installation

git clone git@github.com:liocle/42_transcendence.git
cd beepong
cp .env.example .env # Edit the required templated fields
make up_all

Then, open:


What I Learned

  • Running a real-world multi-container application using Docker
  • Setting up the ELK stack from scratch for real-time observability
  • Collaborating with developers to ingest and structure backend and service logs
  • Building visual dashboards in Kibana to support debugging and gameplay insights
  • Understanding the importance of testing environments and reproducibility in full-stack development

License:

This project is licensed under the MIT License.

About

Developed a modular multiplayer game platform using Python, with Dockerized deployment and real-time log monitoring via ELK πŸ“

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 75.5%
  • JavaScript 8.9%
  • Makefile 4.9%
  • HTML 4.9%
  • CSS 4.6%
  • Dockerfile 0.9%
  • Shell 0.3%