Any password stored in your database must be encrypted
Your website must be protected against SQL injections
You must implement some kind of server-side validation for forms and any user input
A user must log in using the OAuth system of 42 intranet
A user must be able to choose a unique name that will be displayed on the website
A user has several victories and losses and other stats (ladder level, achievements etc...)
A user must have an avatar generated or uploaded by the user
A user must be able to activate a 2-factor authentication (like google authenticator or an SMS etc...)
A user can add other users as friends, and see their current status (online, offline, in a game...)
Each user has a match history (including duel, ladder) that can be consulted by anyone logged-in
Users must be able to create channels public/private or protected by a password
Users must be able to send direct messages to other users
Users must be able to block other user and therefore they will not see their messages anymore
A user that creates a new channel is automatically its owner until he leaves the channel
owner of a channel can add/change/remove a password to access the channel
owner can select a user to be an administrator and is also an administrator of the channel
administrator can ban or mute users for a certain amount of time
Through the chat interface users should be able to ask other players to do a Pong match
Through the chat interface users must be able to see other players profiles
The main purpose of this website is to play pong against other players and show everyone how good you are!
Therefore we should be able to play pong directly on the website and live against another player.
There must be a match-making system, user can join a game queue and are automatically matched with another player.
It can be on a canvas or it can be with 3d effects, it can be ugly but it must be a pong like the one from 1972.
You need to have some game customization options (power-ups, different maps etc) but the user must be able to play a default pong game without any added stuff.
The game must be responsive!
Think about network issues, like disconnects or lag. The user experience should be the best possible.
Other users can watch the game live without interfering in it.