JackBogart / SocketChat

MERN stack chat application using web sockets. **WORK IN PROGRESS**

Home Page:http://54.89.0.125

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

⚡Socket Chat ⚡

Socket chat is a web-based encrypted messaging platform that uses web sockets for bidirectional and low-latency communication

Features

  • Real-time encrypted messaging using web sockets
  • One-on-one messaging
  • Group messaging
  • Create your own profile
  • Add friends
  • Realtime notifications
  • Mute users / groupchats
  • Mobile friendly

Upcoming features

  • Sending photos
  • Sending videos
  • Online / offline / away / do not disturb status
  • Google sign in with OAuth

Tech stack

  • [ReactJS] - Free and open-source front-end JavaScript library developed by Facebook for building user interfaces based on UI components.
  • [Typescript] - Strongly typed programming language that builds on JavaScript, giving you better tooling at any scale. Adds additional syntax to JavaScript to support a tighter integration with your editor. Catch errors early in your editor.
  • [MongoDB] - Cross-platform document oriented NoSQL database which uses JSON-like documents with optional schemas.
  • [Mongoose] - Node.js-based Object Data Modeling (ODM) library for MongoDB, offers a variety of hooks, model validation, and other features aimed at making it easier to work with MongoDB.
  • [Express] - Minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.
  • [Node.js] - Back-end JavaScript runtime environment that runs on a JavaScript Engine and executes JavaScript code outside a web browser, which was designed to build scalable network applications.
  • [Socket.io] - Library that enables low-latency, bidirectional and event-based communication between a client and a server.
  • [JSON Web Tokens] - Proposed internet standard for creating data with optional signature and/or optional encryption whose payload holds JSON that asserts some number of claims.
  • [Redux]- JavaScript library for managing and centralizing application state.
  • [CSS] - Style sheet language used for describing the presentation of a document written in a markup language such as HTML or XML.
  • [Postman] - API platform for developers to design, build, test, and iterate their APIs.

Run Locally

Installing dependencies:

npm i

Starting client:

npm run client

Starting server

npm run server

Demo

Login:

Signup:

Signed in:

One to one chats:

Groupchats:

Create a groupchat:

Chat notifications:

Search for users:

View your profile

View other user's profile

Add friends

Mute users

Mobile responsive

About

MERN stack chat application using web sockets. **WORK IN PROGRESS**

http://54.89.0.125


Languages

Language:TypeScript 74.2%Language:CSS 23.6%Language:HTML 0.9%Language:Shell 0.8%Language:SCSS 0.5%