This project is a web application built with a containerized architecture using Nginx, a backend service, and a frontend service. The architecture follows this flow:
flowchart LR
subgraph Internet
WWW
end
subgraph Proxy
Nginx
end
subgraph Frontend
Front
end
subgraph Backend
back/src
end
WWW --HTTPS/443--> Nginx
Nginx --> Front
Nginx --8000--> back/src
- Internet: External access to the application.
- Proxy (Nginx): Acts as a reverse proxy, forwarding requests to the frontend and backend.
- Frontend: A TypeScript-based UI served by Nginx.
- Backend: A Node.js-based server handling application logic and database communication.
✅ = done
💻 = in progress
❌ = free to develop
🐶 = Paula
🐱 = Alex
🐭 = Israel
🐹 = Pau
🐰 = Anna
| Points | Status | Student | Module |
|---|---|---|---|
| 1 | ✅ | 🐱 | Major module: Use a framework to build the backend. |
| 0.5 | 💻 | 🐶 | Minor module: Use a framework or a toolkit to build the frontend. |
| 0.5 | ✅ | 🐱 | Minor module: Use a database for the backend. |
| ❌ | Major module: Store the score of a tournament in the Blockchain. |
| Points | Status | Student | Module |
|---|---|---|---|
| 1 | ✅ | 🐱 | Major module: Standard user management, authentication, users across tournaments. |
| 1 | ✅ | 🐱 | Major module: Implementing a remote authentication. |
| Points | Status | Student | Module |
|---|---|---|---|
| ❌ | Major module: Remote players | ||
| ❌ | Major module: Multiplayer (more than 2 players in the same game). | ||
| ❌ | Major module: Add another game with user history and matchmaking. | ||
| ❌ | Minor module: Game customization options. | ||
| 1 | 💻 | 🐰 | Major module: Live chat. |
| Points | Status | Student | Module |
|---|---|---|---|
| ❌ | Major module: Introduce an AI opponent. | ||
| ❌ | 🐶 | Minor module: User and game stats dashboards. |
| Points | Status | Student | Module |
|---|---|---|---|
| ❌ | Major module: Implement WAF/ModSecurity with a hardened configuration and HashiCorp Vault for secrets management. | ||
| ❌ | Minor module: GDPR compliance options with user anonymization, local data management, and Account Deletion. | ||
| 1 | ✅ | 🐱 | Major module: Implement Two-Factor Authentication (2FA) and JWT. |
| Points | Status | Student | Module |
|---|---|---|---|
| ❌ | Major module: Infrastructure setup for log management. | ||
| ❌ | Minor module: Monitoring system. | ||
| ❌ | Major module: Designing the backend as microservices. |
| Points | Status | Student | Module |
|---|---|---|---|
| ❌ | Major module: Use advanced 3D techniques. |
| Points | Status | Student | Module |
|---|---|---|---|
| 0.5 | 💻 | 🐶 | Minor module: Support on all devices. |
| 0.5 | 💻 | 🐶 | Minor module: Expanding browser compatibility. |
| ❌ | 🐰 | Minor module: Supports multiple languages. | |
| ❌ | Minor module: Add accessibility features for visually impaired users. | ||
| ❌ | Minor module: Server-Side Rendering (SSR) integration. |
| Points | Status | Student | Module |
|---|---|---|---|
| ❌ | Major module: Replace basic Pong with server-side Pong and implement an API. | ||
| ❌ | Major module: Enabling Pong gameplay via CLI against web users with API integration. |
7.0
- Frontend: TypeScript, Tailwind CSS
- Backend: Node.js
- Database: SQLite
- Proxy: Nginx
- Authentication: JWT, Two-Factor Authentication (2FA)
- Monitoring: Prometheus, Grafana
- Clone the repository:
git clone https://github.com/your-repo/transcendence.git cd transcendence - Start the application using Docker Compose:
docker compose up --build
- The application will be available at
https://localhost:443/
This README provides an overview of the project architecture and feature list. More details will be added as the project evolves.