Skip to content

ZakharDolozhevskiy/chat-application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chat client

Socket.io based chat application. The application supports desktop and mobile devices.

Features

  • 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)

Get started

You’ll need to have Node >= 6 on your machine

  1. Clone the repository
git clone https://github.com/ZakharDolozhevskiy/chat-application.git && cd chat-application
  1. Install dependencies
npm install
  1. Run the app in development mode
npm start
  1. Open http://localhost:3000 to view it in the browser.

Development

Development dependencies and scripts description

Scripts

  • start - run application in development mode with live reloading and dev warnings in console
  • test - run tests (pattern: *.test.js)
  • build - create production ready build
  • coverage - show code coverage in CLI
  • coverage:open - show code coverage in a browser

Main dependencies

Structure

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

Testing

Code covered by unit tests, each folder has test folder with related test suites. Snapshots used for leafs components.

Code coverage close to 100%

Testing tools

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published