Skip to content
Wayne Wang edited this page Nov 5, 2013 · 1 revision

User

  1. Each user should have a unique Id
  2. Each user should be able to login using the unique Id and password
  3. Each user should have a display name (not required to unique)
  4. Each user should have an avatar
  5. If user doesn’t specific an avatar, an default avatar should be assigned
  6. Anonymous user should be allowed, an a random generated display name and avatar will be assigned to this user
  7. Anonymous user’s display name should be formatted as this “Anonymous user XXXX
  8. Each user should be able to change his password and/or display name and/or avatar
  9. Change history of user’s display name should be shown in user detail page
  10. There should be a brief information popup box when you put mouse over user’s name and,
  11. This popup box should contain a link to user detail page and,
  12. This popup box should contain a link to start a private or public chat if current user is non anonymous.

Chat room

  1. Each chat room should have a unique Id
  2. Any logged user should be able to create a chat room and then own the chat room
  3. There should be two types of rooms, public and private
  4. Each public chat room will have a topic (display name)
  5. Any user should be able to join a public room by clicking the room name unless he is banned by room owner
  6. Any user should be able to join a room by a shared link unless he is banned by room owner
  7. Shared link to private room should be expired in one hour
  8. The owner of chat room should be able to change the topic of room
  9. The owner of chat room should be able to dismiss the room
  10. The owner of chat room should be able to kick any user in the room
  11. The owner of char room should be able to ban an user
  12. The owner of chat room should be able to invite any user by their id and
  13. The user get invited will get an notification and user should be able to accept or decline
  14. User should be able to quit the room
  15. User should be able to minimize the room
  16. An user list should be shown in the chatting page and
  17. User should be able to fold/unfold the online user list
  18. The history message should be stored in database and displayed in chat room
  19. Any change of user list (user join, user left, user quit) should generate a notification in the room

Conversation

  1. User should be able to change their font (font-family, size, color) during conversation
  2. No submit button, user hit Enter on keyboard to send message

Message

  1. Each message should be typed in a single line
  2. Each message should be stored with style (font-family, size, color)

Homepage

  1. There should be a sign in / sign off link on the top right corner of homepage
  2. All joined chat rooms should be listed in home page
  3. All rooms in home page should be displayed as Windows 8 Style box
  4. If there is more than one room in homepage, the room box should be sortable
  5. Should show unread message count on room box
  6. Should show the last message on room box
  7. Should show topic on room box
  8. Should show an close icon (X) on room box
  9. Clicking on the room box should lead user to continue conversation
  10. Clicking the close icon will quit the chat room
  11. 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

  1. Password should be hashed in database
  2. All message should be encoded

AI Request

  1. Any message starts with “::” (quotes not include) will be considered as an AI request
  2. AI Request List:
    a. ::dice System will generate a random number and then broadcast the result
    b. ::time System will broadcast the current UTC time
Clone this wiki locally