/khude-barta

Simple Cross-Platform Online Chatting Application

Primary LanguageC

Khude Barta (খুদে বার্তা)

Khude Barta is an online chatting application. Primary motive of this project is to display the possibility of integrating internet enabled service in desktop application. There are many different possibility of using this technology in real life.

Main Features

  • User Authentication
  • Instant Messaging
  • Group Chatting

Technologies Used

  • C – Programming Language
  • Apache – Web Server
  • PHP – Server Side Scripting Language
  • MySQL – Database Program
  • Electron – Cross Platform Application Builder
  • HTML / CSS / JavaScript – Web Development Technologies

Network Diagram

Database Structure

We used MySQL as our database backend. Our web service stores and retrieve data from here. To have minimum functionality in our project we created two table on a database “user” & “message”. One is for storing & verifying user information and other is used to store & retrieve messages for users.

User Table

Message Table

Web Service

Backbone of this project is web service behind it. Our web service is built using PHP / MySQL. Our web service runs on Apace Web Server. Main parts of our service are Authentication, Send, Receive & Transceiver.

  • Authentication – When a client tries to connect to service it verifies the authenticity of the user by matching username & password stored in database. After verifying this service returns an access token to the user.
  • Send – When an authenticated user sends a message this endpoint receives it & store it in database.
  • Receive – When an authenticated client contacts this endpoint, it returns new messages in database.
  • Transceiver – This endpoint is for sending & receiving at the same time. Our C based client uses this endpoint for faster access.

C Based Client

Most important part of this project is to display the possibility of creating a fully functional C based chatting client.

Our C client uses Socket & Thread. Socket helps in accessing internet; Thread helps in sending & receiving message at the same time without blocking the standard input / output stream. The main benefit of this C client is it can run on different platforms.

Desktop Client

Our desktop client is built using Electron which is a cross platform application builder. Due to this our application can run on most of the popular operating systems out there.

Web Client

Our web client is built using HTML / CSS / JavaScript and it uses the web service for authenticating, sending & receiving message.

Mobile Client

Interface for our mobile client looks symmetrical to our desktop & web interface. Since our theme is responsive we can fit it into almost any size of display.

This Project is Done By:

CSE, 11'th Batch,
Shanto-Mariam University of Creative Technology,
Dhaka, Bangladesh.