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.
- 🎮 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.
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
| 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 |
- Docker and Docker Compose
makeutility
-
Clone the repository:
git clone https://github.com/your-username/transcendance.git cd transcendance -
Build and start the services:
make build make up
-
Initialize Vault (if necessary):
make init_vault
-
Access the application:
- Frontend:
http://localhost:3000(via Nginx proxy) - Kibana:
http://localhost:5601 - API Docs:
http://localhost/api/docs/(if enabled)
- Frontend:
- Backend Documentation - Detailed Django & API guide.
- Frontend Documentation - UI/UX and Three.js details.
- Nginx & Security - ModSecurity and CRS configuration.
This project is developed as part of the 42 curriculum. All rights reserved.
