-
Couldn't load subscription status.
- Fork 1
Requirements
Wayne Wang edited this page Nov 5, 2013
·
1 revision
User
- Each user should have a unique Id
- Each user should be able to login using the unique Id and password
- Each user should have a display name (not required to unique)
- Each user should have an avatar
- If user doesn’t specific an avatar, an default avatar should be assigned
- Anonymous user should be allowed, an a random generated display name and avatar will be assigned to this user
- Anonymous user’s display name should be formatted as this “Anonymous user XXXX”
- Each user should be able to change his password and/or display name and/or avatar
- Change history of user’s display name should be shown in user detail page
- There should be a brief information popup box when you put mouse over user’s name and,
- This popup box should contain a link to user detail page and,
- This popup box should contain a link to start a private or public chat if current user is non anonymous.
Chat room
- Each chat room should have a unique Id
- Any logged user should be able to create a chat room and then own the chat room
- There should be two types of rooms, public and private
- Each public chat room will have a topic (display name)
- Any user should be able to join a public room by clicking the room name unless he is banned by room owner
- Any user should be able to join a room by a shared link unless he is banned by room owner
- Shared link to private room should be expired in one hour
- The owner of chat room should be able to change the topic of room
- The owner of chat room should be able to dismiss the room
- The owner of chat room should be able to kick any user in the room
- The owner of char room should be able to ban an user
- The owner of chat room should be able to invite any user by their id and
- The user get invited will get an notification and user should be able to accept or decline
- User should be able to quit the room
- User should be able to minimize the room
- An user list should be shown in the chatting page and
- User should be able to fold/unfold the online user list
- The history message should be stored in database and displayed in chat room
- Any change of user list (user join, user left, user quit) should generate a notification in the room
Conversation
- User should be able to change their font (font-family, size, color) during conversation
- No submit button, user hit Enter on keyboard to send message
Message
- Each message should be typed in a single line
- Each message should be stored with style (font-family, size, color)
Homepage
- There should be a sign in / sign off link on the top right corner of homepage
- All joined chat rooms should be listed in home page
- All rooms in home page should be displayed as Windows 8 Style box
- If there is more than one room in homepage, the room box should be sortable
- Should show unread message count on room box
- Should show the last message on room box
- Should show topic on room box
- Should show an close icon (X) on room box
- Clicking on the room box should lead user to continue conversation
- Clicking the close icon will quit the chat room
- There should be a search box in homepage, while typing in the search box, a dropdown list of all matched result (including user, room) will be displayed
Security
- Password should be hashed in database
- All message should be encoded
AI Request
- Any message starts with “::” (quotes not include) will be considered as an AI request
- AI Request List:
a.::diceSystem will generate a random number and then broadcast the result
b.::timeSystem will broadcast the current UTC time