Pongy

Pongy is a web-based multiplayer Pong game where users can play against each other in real-time, chat, and manage their user profiles. The project leverages modern web technologies to provide a seamless and engaging user experience.

Tools and Technologies

  • Frontend: Next.js with React and TypeScript
  • Backend: NestJS
  • Database: PostgreSQL
  • Real-time Communication: Socket.io
  • ORM: Prisma
  • Containerization: Docker

Features

  • Real-time Multiplayer Pong: Users can play a live Pong game against other players directly on the website.
  • Matchmaking System: Automatically matches users for 1v1 Pong games.
  • User Authentication: OAuth login, with support for two-factor authentication.
  • User Profiles: Display user stats, match history, and manage friends.
  • Chat System: Create channels (public/private/protected), send direct messages, and block users.
  • Game Customization: Offers different game modes, including options for power-ups and custom maps.
  • Responsive Design: Ensures that the game and website work well across different devices and screen sizes. ## How to Use ### Installation 1.Clone the Repository:
git clone https://git@github.com:ysahih/PingPong.git

2.cd PingPong

3.Set Up Environment Variables:

Create a .env file in the project root and configure the necessary environment variables such as database credentials and API keys.

4.Build and Run the Project:

5.Use Docker to build and run the project:

docker-compose up --build

Accessing the Application

  1. Once the project is running, open your web browser and navigate to http://localhost:3001 to access the application.
  2. Users can sign up using OAuth, play Pong games, chat with other users, and view their profiles.

Contributors

Pongy View

alt text

Share this project:

Updates