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.
- Frontend: Next.js with React and TypeScript
- Backend: NestJS
- Database: PostgreSQL
- Real-time Communication: Socket.io
- ORM: Prisma
- Containerization: Docker
- 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.
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
- Once the project is running, open your web browser and navigate to http://localhost:3001 to access the application.
- Users can sign up using OAuth, play Pong games, chat with other users, and view their profiles.