Lead and full stack : Ricardo @raranguren
Front end : Lilou @liperez42 & Saina
Back end : Solenne @Silver-444 & Joshua @Jspitz-42
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
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
- 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
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 3000Access at: https://localhost:8443
API docs: https://localhost:8443/api/docs