Welcome to the repository for FT Transcendence, a full-stack web application designed for multiplayer ping pong games. This project encompasses a robust set of features including user authentication, real-time gameplay, chat functionality, and administrative controls.
- User Profiles: Create, update, and delete user profiles with enhanced security measures including two-factor authentication.
- Real-time Gameplay: Engage in multiplayer ping pong games with live opponents.
- Chat System: Real-time chat functionality allowing for direct and group messaging.
- Admin Panel: An administrative interface for managing user interactions and gameplay settings.
Before you begin, ensure you have the following installed:
- Node.js
- PostgreSQL
- Docker (optional for containerization)
To set up the project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/waelbt/ft_transcendence.git cd ft_transcendence
-
Install dependencies:
npm install
-
Set up the database:
- Ensure PostgreSQL is installed and running.
- Create a database named
ft_transcendence
. - Run the database migrations and seeders (if any).
-
Configure environment variables:
- Create a
.env
file in the root directory. - Add necessary configurations (e.g., database URL, secret keys).
- Create a
-
Start the server:
npm start
After starting the server, navigate to http://localhost:3000
in your web browser to access the FT Transcendence application. Log in or register a new account to start playing and interacting with other users.
If you prefer to use Docker, ensure Docker and Docker Compose are installed. Then run:
docker-compose up
This will containerize the application and its dependencies, simplifying the setup process.