JS IRC Clon
Create a multi channel chat application using the WebSocket server in codeableorg/websocket-server as your WebSocket server.
Team
- Paul Portillo
- Carlos Sandoval
- Cristian Granda
- Lian Nivin
- Mayra Navarro
How to run
yarn install
yarn start
Now, view in http://localhost:3000
Preview
Requirements
- The user should be asked for a username when trying to access.
- The username should be stored for future usage if the user reload the page.
- After accessing the chat the user should be automatically joined to the
#general
channel. - A user should have an option to change, and join, to another channel.
- If the channel doesn't exists create one.
- After the channel is created a message should be sent to the WebSocket server to notify other users. (optional)
- Previously accessed channels should be remembered after a page reload.
- Previously received messages should be remembered after a page reload.
- Stored messages should be displayed with a disabled state after the user access the chat again. (optional)
- The user should receive notifications of new messages in the following conditions: (optional)
- When a message is received on the non active channel and the page is visible. (optional)
- When a message is received on the active channel and the page is not visible. (optional)
- A message must have a content, an author and the date.
- The date of a message should be displayed as only the hour with minutes.
- The messages should be grouped by date, without caring about the hour and minutes.
- The grouped messages should have a visual separator with other groups.
- The current day should be displayed as
Today
. (optional) - The previous day should be displayed as
Yesterday
. (optional)
Acceptance Criteria
- It must use semantic HTML
- It should not use JS libraries
- It must pass with green the Accessibility tests of the Chrome Audits
- It must pass with green the Best Practices tests of the Chrome Audits
- It must pass with green the SEO tests of the Chrome Audits
- The server code should not be modified in any way