How nolhan-b/ft_transcendence works
This repository is presented as a development plan for a web-based UNO game, not as a verified implementation: the backend and frontend have no sampled source files. The documented user journey is account access, real-time multiplayer play, and game outcomes, with social and progression features around it. The graph therefore reflects planned capabilities and documented connections; directory paths identify only the directories present in the tree, and the shared type files were excerpted but contained no visible definitions.
Main entry points: frontend Web frontend · backend Multiplayer sessions · game.ts Game contracts · user.ts User contracts
Components 21
Web experience
- Web frontend
frontend
UNO gameplay
- Game rooms
backend - UNO rules and turns
backend - Multiplayer sessions
backend - Reconnect handling
backend - AI opponent
backend - Custom cards
backend - Tournaments
backend - Spectator mode
backend
Social features
- User profiles
backend - Friend system
backend - Real-time chat
backend - XP and leaderboard
backend
Accounts and platform
- Signup and login
backend - WebSocket service
backend - Game contracts
shared/src/types/game.ts - User contracts
shared/src/types/user.ts - WebSocket events
shared/src/types/websocket-events.ts - PostgreSQL database
- OAuth providers
backend
Other components
- Player
Connections 22
- Player → Web frontend: uses
README.md - Web frontend → Signup and login: submits credentials
README.md - Web frontend → Game rooms: enters rooms
README.md - Game rooms → PostgreSQL database: stores game state
README.md - Signup and login → PostgreSQL database: stores users
README.md - Web frontend → WebSocket service: connects via
README.md - WebSocket service → Multiplayer sessions: broadcasts updates
README.md - Multiplayer sessions → UNO rules and turns: runs rules
README.md - UNO rules and turns → Game contracts: uses contracts
- WebSocket service → WebSocket events: uses events
- Signup and login → User contracts: uses contracts
- Multiplayer sessions → Reconnect handling: supports reconnection
README.md - Multiplayer sessions → AI opponent: can add opponent
README.md - UNO rules and turns → Custom cards: can add customization
README.md - Web frontend → User profiles: views profiles
README.md - Web frontend → Friend system: uses
README.md - Web frontend → Real-time chat: uses
README.md - Real-time chat → WebSocket service: uses transport
README.md - Multiplayer sessions → Tournaments: enables tournaments
README.md - Multiplayer sessions → Spectator mode: enables spectators
README.md - Multiplayer sessions → XP and leaderboard: feeds progression
README.md - Web frontend → OAuth providers: offers sign-in
README.md