Used libraries:
- react-fontawesome - icons
- bulma - CSS framework used for fast prototyping
- styled-components - used for fine-tuning of Bulma styles
- luxon - easy working with DateTime in JS
- nanoid - unique string ID generator
- Conversations indicate unread messages
- The application is fully responsive (especially with an open conversation sheet)
- A more complex state management, ideally Redux, is used to manage the state of the application (I consider
useReducer
as a replacement ofRedux
, which is too complex for the most of cases. Thereducer
function is the same.) - The application can be launched as a desktop application using Electron or PWA (electron app is lanuched as:
yarn electron
) - The application contains tests (any). (Tests are implemented in
Jest
:yarn test
) - Use of webpack and implementation of code splitting