Socket.io based chat application. The application supports desktop and mobile devices.
- Chat messages with date time and sender name
- Emoji smiles support
- Links support (images, youtube and links to other websites)
- Controlled scroll. Updates if the chat view is active and a message received
- Unread messages counter
- Message sending by button click, by Enter key and hot keys if enabled
- Dark and Light themes
- Internationalization
- Optimised rendering (renders chat view only once)
You’ll need to have Node >= 6 on your machine
- Clone the repository
git clone https://github.com/ZakharDolozhevskiy/chat-application.git && cd chat-application
- Install dependencies
npm install
- Run the app in development mode
npm start
- Open http://localhost:3000 to view it in the browser.
Development dependencies and scripts description
start
- run application in development mode with live reloading and dev warnings in consoletest
- run tests (pattern: *.test.js)build
- create production ready buildcoverage
- show code coverage in CLIcoverage:open
- show code coverage in a browser
chat-application
├── README.md
├── node_modules
├── package.json
├── .gitignore
├── public
│ ├── favicon.ico
│ ├── index.html
│ └── manifest.json
└── src
├── actions
├── components // All reusable or stateless components
├── middlewares // Middlewares process all side effects
├── modules // Tools
├── pages // Main views with bussines logic
├── reducers
├── themes
├── translator // Translation provider with classes
├── app.js
├── config.js
├── index.js
├── setupTests.js
└── store.js
Code covered by unit tests, each folder has test folder with related test suites. Snapshots used for leafs components.
Code coverage close to 100%