Skip to content

A simple chat-messenger having a volatile user session, which means everything you chat with multiple Users vanishes when your session state changes! ๐Ÿ˜‰ This allows you complete privacy as nothing is stored but is volatile!

RaKeerS/chat-messenger

Repository files navigation

Chat-Messenger ๐Ÿ—ฃ

This is my own implementation of a simple web based chat-messenger using only HTML, CSS, JS over .NET framework. My aim was to create a chat-messenger using minimal resources. The idea is to see if I could implement a chat messenger using just API services over HTTP based protocol.

So, I wanted to create a real time chat-messenger which would allow real time communication between clients over the web. The means to implement my idea of a real time chat-messenger became possible using Signal-R. This is a .NET library allowing real time communication and also let's us sent Server Side Events without the need of polling. This Chat-Messenger also implements Authorization for verifying if the request is coming from an authorized User.

More on Signal-R over here: "https://dotnet.microsoft.com/apps/aspnet/signalr"

This web application allows multiple clients to communicate with each other real time, it shows the different User Accounts we are chatting with, represents the chats systematically. โœจ๐Ÿคฉ

The application doesn't make use of any database, it's purely running on the system memory i.e. the User Accounts might be lost if the application is updated. Hence, this could be called as a completely private chat which keeps no records of the recipients or the sessions or messages whatsover! ๐Ÿ˜Ž๐Ÿ‘ฅ

Below is the link to a fork of this project which works without Authorization -

Chat-Messenger-Noauth

Technologies Used

The application is created using HTML, CSS, JS via. a ASP.NET framework for web applications. It also utilizes the Signal-R library for providing the real-time web functionality.

Signal-R

ASP.NET SignalR is a library for ASP.NET developers that simplifies the process of adding real-time web functionality to applications. Real-time web functionality is the ability to have server code push content to connected clients instantly as it becomes available, rather than having the server wait for a client to request new data. (Source Microsoft)

Project Dependencies

  • .NET Framework 4.7.2 (v4.5+)
  • Signal-R

Working Demo Video of the Application

Chat-Messenger.Walkthrough.mp4

Screen-grabs of the Application (Similar to Chat-Messenger with no Authorization)

  1. Login Screen

Login Screen

  1. Home Screen

Home Screen)

  1. Connect to User / Start New Chat

Connect to User

  1. New Chat(s)

New Chat Pic 1

  • On Selecting the User Chat

New Chat Pic 2

  1. Second Client/User Chat Window

User 2 Chat Pic 1)

  • Sending a reply from the Second Client/User

User 2 Chat Pic 2)

  1. Both Conversations
  • (Client 1)

Conversation 1 Pic 1

  • (Client 2)

Conversation 1 Pic 2

  1. Both Conversations Side by Side

Conversations Side by Side

Side Note

This Project has Authorization implemented in it whereas the other project does titled 'chat-messenger-noauth' does not implement the same. Click the following Chat-Messenger-Noauth-Repo to check out that repo.

Just remember that the session is not saved on either sides, which means once you refresh the window, all your chats will be lost! In case you find any bugs do let me know!

License

This project is licensed under the MIT License.

About

A simple chat-messenger having a volatile user session, which means everything you chat with multiple Users vanishes when your session state changes! ๐Ÿ˜‰ This allows you complete privacy as nothing is stored but is volatile!

Topics

Resources

Stars

Watchers

Forks