Start by runnning yarn
and then yarn dev
from the root directory.
This will automatically open a browser window at http://localhost:8080. If you open the same url in another window, you can start chatting to yourself.
-
Chat page - send & receive messages
-
Settings
- User name - default is socket.id
- Interface color - default is system theme
- Clock display - default 12h
- Send messages on CTRL+ENTER: default is off. When it's turned on the user can type multiline messages.
-
React Context is used for state management (Theme and Settings).
-
If user is not in the Chat tab, Chat tab starts blinking with unread count until user clicks on it.
-
The view is scrolled to the end of the messages when switching to the Chat tab or when the view is scrolled back up by the user previously and a new message is received.
-
Stored messages are loaded from the server upon reconnecting
-
Multi-browser support achieved by using postcss webpack plugin
-
Test coverage: ~86% of lines