Skip to content

Latest commit

 

History

History
122 lines (89 loc) · 3.55 KB

File metadata and controls

122 lines (89 loc) · 3.55 KB

🚀 Transcendance

Transcendance Banner

Welcome to Transcendance, a high-performance, real-time multiplayer gaming platform. This project recreates the classic Pong game with modern web technologies, a robust microservices architecture, and a focus on security and observability.


🌟 Key Features

  • 🎮 Real-Time Gameplay: Seamless, low-latency Pong matches powered by WebSockets.
  • 🛡️ Advanced Security: Built-in WAF (ModSecurity), secret management via HashiCorp Vault, and Two-Factor Authentication (2FA).
  • 📊 Comprehensive Monitoring: Fully integrated ELK Stack (Elasticsearch, Logstash, Kibana) for real-time logging and system health tracking.
  • 👤 User Management: Detailed profiles, matchmaking system, and friend lists.
  • ✨ Premium UI/UX: A stunning frontend built with Next.js, Tailwind CSS, and 3D elements using Three.js.

🏗️ Architecture Overview

Transcendance is built as a microservices application, ensuring scalability and isolation.

graph TD
    subgraph "External"
        Internet(Internet)
    end

    subgraph "Infrastructure"
        Nginx[Nginx + ModSecurity WAF]
        Vault[HashiCorp Vault]
    end

    subgraph "Application Services"
        Frontend[Next.js Frontend]
        Backend[Django Backend]
        Redis[Redis Cache/PubSub]
        Postgres[(PostgreSQL)]
    end

    subgraph "Observability (ELK)"
        ES[(Elasticsearch)]
        LS[Logstash]
        KB[Kibana]
    end

    Internet --> Nginx
    Nginx --> Frontend
    Nginx --> Backend
    Backend --> Postgres
    Backend --> Redis
    Backend --> Vault
    
    Backend -.-> LS
    Postgres -.-> LS
    Redis -.-> LS
    Nginx -.-> LS
    
    LS --> ES
    ES --> KB
Loading

🛠️ Tech Stack

Component Technology
Frontend Next.js, React, Three.js, Tailwind CSS
Backend Django, Django Channels, DRF
Database PostgreSQL
Caching Redis
Security HashiCorp Vault, ModSecurity
Observability Elastic Stack (ELK)
Deployment Docker, Docker Compose

🚀 Getting Started

Prerequisites

Installation & Launch

  1. Clone the repository:

    git clone https://github.com/your-username/transcendance.git
    cd transcendance
  2. Build and start the services:

    make build
    make up
  3. Initialize Vault (if necessary):

    make init_vault
  4. Access the application:

    • Frontend: http://localhost:3000 (via Nginx proxy)
    • Kibana: http://localhost:5601
    • API Docs: http://localhost/api/docs/ (if enabled)

📖 Additional Documentation


📜 License

This project is developed as part of the 42 curriculum. All rights reserved.