DESIGN AND IMPLEMENTATION OF MUILT USER CHAT APP WITH REAL TIME MESSAGING

Student: Muhammad Ali Mintar
Supervisor: Mr David Tayo Oladipo
HOD: Mr David Tayo Oladipo
Department of Computer Science
Science and Technology
Federal Polytechnic, Damaturu, Yobe State

Abstract

This project presents a real-time multi-user chat application built using Flask and Socket.IO for asynchronous web communication. The system enables seamless text messaging between users and supports both individual and group conversations. It maintains in-memory data structures to manage users, sessions, chat rooms, and message histories without relying on external databases. The application facilitates user registration, connection tracking, and presence broadcasting to show online and offline statuses in real time. It supports essential messaging features such as message delivery acknowledgment, read receipts, editing, deletion, and typing indicators, enhancing interactivity and user experience. Additionally, users can create, join, and leave chat groups, allowing dynamic group messaging. The backend uses event-driven architecture through Flask-SocketIO with Eventlet for concurrency, ensuring scalability and low-latency communication. Messages are transmitted efficiently using WebSocket protocols, providing near-instant synchronization across all connected clients. Overall, this system demonstrates an efficient and scalable approach to implementing real-time bidirectional communication over the web, serving as a foundation for modern chat applications and collaborative systems.

Full-Text Access Notice

In accordance with the NERD Policy on promoting peer-reviewed publication, public access to the full text of a project, thesis or dissertation is restricted for three years, allowing the author and supervisors sufficient time to pursue peer-reviewed publication. During this period, researchers with legitimate academic or research purposes may request authorisation directly from the author to enable NERD to release the indexed full texts of the work using the form below.

Request authorisation from the author