Final project of the 42 School.
A Single Page App where authenticated users engage in real-time 'Pong' competitions, with the added capabilities of chatting with friends, joining channels, monitoring game statistics, and much more.
- User authentication using 42 intranet OAuth system or google.
- Two-Factor Authentication with Google Authenticator.
- User account management with unique username and avatar upload.
- Add friends and see current status (Online, Offline or In A Game).
- Real-time chat system with public and private channels.
- Pong game with matchmaking, invite and customization options.
- Track your performance and compete with others to reach the top of the leaderboard.
- Backend: NestJs, PassportJS, JWT
- Frontend: NextJs, TypeScript, Tailwind CSS
- Database: PostgreSQL, Prisma
- Web Sockets: Socket.IO
- Set values
CLIENT_ID_42
,CLIENT_SECRET_42
andCALLBACK_URL_42
in ./.env - open Docker
- run commend line
docker-compse up --build