Skip to content

abatista667/chat

Repository files navigation

Chat

A simple node/react/redux responsive chat using socket.io

Step to run

  1. Install nodejs
  2. Install webpack: npm install -g webpack webpack-cli
  3. Install dependencies: npm i
  4. Build: npm run build
  5. Run: npm start

Go to: http://localhost:3000/

This app demo is also deployed on heroku: https://abatista-chat.herokuapp.com/

Working features

  • Chat page connected to a socket
  • Settings page
  • Set username
  • Select theme dark or light
  • Select 12 or 24 hour format
  • English and Spanish interface language
  • Turn on and off Send message on CTRL + ENTER
  • Reset to default

Main dependencies

  • Nodejs
  • Javascript ES6
  • React/Redux
  • Babel
  • Webpack
  • Sass

note: the architecture is completely functional using react hooks

Main files and folders

/server.js: is the nodejs entry file it serves the index.html static file, the images static files and the socket server

/app: is a folder and all the react application is here

/app/index.jsx: is the react entry point

/app/store.js: it configure and create the global redux store

/app/reducer: is where all redux reducers are

/app/actions: is where all available actions are, most of them are for mutate the redux store

/app/constant: is where the app constants are defined for example all redux actions types

/app/component: all renderable components

/app/hooks: custom hooks

/app/utils: some reusable functions

/app/test: some test examples

/app/testHelper: some reusable functions using during testing

/css: contains the sass styles

/images: contains images

/data: contains json data

My Limitations

I'm working on a 13inch laptop with not additional monitor, i couldn't test this app in XL resolution.

Bonus

We have a time machine that can predict the future, it's called planning.
Ariel Batista

Nothing is impossible for someone who has decided to triumph.
Ariel Batista

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published