Flack

Instant messaging web app that allows users to send and receive messages without refreshing the page.

Features

  • Create channels with independent messages
  • Persistent display names without login
  • Upto 100 stored messages per channel
  • Messages can be deleted within a grace period

Design Considerations

  • Data structure used to store messages
  • Notifying users when a message was deleted
  • User constraints

Implementing this project

I split the project into several parts:

Getting and Storing the users display names

Managing AJAX requests

Creating and retrieving a list of channels

Remembering a users channel

Retrieving and storing messages

Adding websockets

Styling messages

Implementing delete functionality

Adding responsive design elements

Instant Messaging & Channels

Channel creation and message separation/retrieval

Message Deletion

Instant message update as well deleting messages

Message Delete Timer

I used Promises in Javascript to implement this

The app may take some time to load as the server initializes