Skip to content

SFr28/Transcendence

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

FT_TRANSCENDENCE

Lead and full stack : Ricardo @raranguren

Front end : Lilou @liperez42 & Saina

Back end : Solenne @Silver-444 & Joshua @Jspitz-42

Description

ft_transcendence is a project at 42 School where you create a real-time multiplayer Pong game with a web interface. The goal is to build a secure, scalable web application using modern web technologies

Model

Plain objects for communication between modules

---
config:
  class:
    hideEmptyMembersBox: true
---
classDiagram
direction TB
    User *-- Profile
    User *-- Settings
    User -- Game
    User -- GameInvite
    Game *-- GameOptions
    GameInvite *-- GameOptions
    Tournament o-- Pairing
    Pairing -- Profile
    Game -- Profile
    Game --o Tournament
Loading

Architecture

  • Frontend: Vanilla Typescript + Tailwind (port 8082)
  • Backend: Fastify with WebSocket (port 8080)
  • Nginx: Reverse proxy with ModSecurity WAF (8081 > 8443)
  • Vault: HashiCorp Vault for secrets (port 8200)
  • Database: SQLite in a Docker volume

Usage

make              # Build and start
make logs         # View docker logs
make modsecurity  # View modsecurity logs
make down         # Stop
make clean        # Clean up docker
make fclean       # Remove deployment files (database, vault...)
make dev          # Dev mode with hot reload in port 3000

Access at: https://localhost:8443

API docs: https://localhost:8443/api/docs

About

ft_transcendence, the last project of 42's Common Core

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors