Git Product home page Git Product logo

real-time-chatroom's Introduction

Real-time Chat

A real-time chat application using express, socket.io, redis, and etc.

DEMO Video

How to run

This tutorial is for mac environment. The process in Windows environment should be similar.

- install redis database in your computer.

- open a terminal and run redis server in your computer.
$ redis-server

- open another terminal and enter the directory of this chat application.
$ cd jiakaiz_FSE_chatroom

- install dependencies for this application.(if there are no required dependencies)
$ npm install

- run node server.
$ node index.js

- open your several browsers to 'http://localhost:8080' as clients.

- enjoy this fantastic real-time chatting experience.

Features

  • A user can join a chat room with a unique username. if the username is illegal, there will be an alert information.

  • Users can post chat messages to the chat room. Each message is displayed with username, timestamp, text body and a unique color.

  • Users can see other users’ chat messages in real time.

  • Users can receive the information of whoever is in this chat room in real time.

  • A notification is sent to all other users to inform that whether a user is typing or not.

  • A notification is sent to all users when a user joins or leaves the chatroom.

  • All the chat messages are stored on the server in a redis database and re-loaded when a user re-enters the chat room. So users are able to see historical chat messages.

Development stack

  • Client side: the standard “web stack”: HTML, CSS, JavaScript, and Jquery.

  • Server side: Node.js with express.js and socket.io.

  • Database: redis database.

real-time-chatroom's People

Contributors

jiakaiz avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.