Chatty Chat

Chatty Chat - Instance Messaging Web App


  

Chatty Chat is an online instance group messaging services (not live) that allows for members to send messages in real time within channels. Channels are conversations about specific topic and exists within groups that themselves contains channels and members about broader subjects. Each member may be part of multiple groups and channels.

Unfortunately I don't have an online nodejs server available to present a live demo.

Features

  • Groups: Groups hold a list of users and channels that belong to a common subject.
  • Channels: conversations are organised into channels that correspond to a specific topic.
  • Theming: The message background and System UI is adjusted to each user's colour preference.
  • Instance Messaging: Messages are received instantaneously.
  • System Administration: All administration work can be performed through the web UI.

System Administration

The system supports 3 types of users:

  • Default: no special rights, just messaging.
  • Group admin: can administrate groups, channels and their member lists.
  • Super admin: can do all of the above and create and remove users.


Create, edit and delete groups and
channels
Manage members of groups, channels,
and the system
Create users


About this implementation


Client

The client is implemented using the Angular framework and communicates to the server using a REST API to send commands and dynamically update the page. Googles Material package is used for most input components and the site follows the Material design guidelines.


Web server

The web server is written in JavaScript and runs on nodejs. It provides a REST API for the client to interact with and issues database queries to fetch and update data. All requests are checked for validity, queries are executed and results are returned. Data in requests and results are send in the form of serialised JSON objects.


Database server

MongoDB is used as a database system and provides an object oriented data storage solution. MongoDB is fast, runs in memory, reliable, and scalable making it an ideal candidate for this project.


GitHub Repository

https://github.com/ChrisSkorka/Chatty-Chat

Other Web Development Projects