My Chat is a responsive, full-featured web messaging platform built for smooth, asynchronous communication. Combining an Object-Oriented PHP backend routing engine with a lightweight Vanilla JavaScript frontend, it delivers an instant-messaging experience entirely driven by dynamic JSON payloads—eliminating the need for disruptive page reloads.
🚀 Key Features
Asynchronous Messaging Engine: Utilizes optimized AJAX (XMLHttpRequest) pipelines to transmit data in the background, allowing users to text, view updates, and interact seamlessly.
Smart Delivery & Read Receipts: Built-in visual tracking indicators (single/double checkmarks) showing exactly when a message is successfully received and seen by the other user.
Multimedia & File Sharing: Supports inline image and file attachments directly inside the messaging windows, complete with built-in interactive click-to-preview photo layouts.
Granular Conversation Controls: Gives users absolute control over their chat data with options to delete individual messages or completely purge entire conversation threads.
Dynamic Contact Directory: A built-in contacts module that populates available users, facilitating instant thread initialization.
Personalization & Profile Management: Feature-rich settings component allowing users to manage account details, update custom profile pictures, or fallback on gender-assigned default avatars.
Unified Authentication Hub: A custom-styled, secure login and account registration interface backed by clean session management and client-side fail-safes.
🛠️ Technical Architecture
Frontend Stack: Semantic HTML5, clean CSS3 UI layout with custom asset typography (OpenSans), and Vanilla JavaScript for high-performance DOM manipulation.
Backend Stack: Object-Oriented PHP routing architecture acting as a centralized traffic controller (api.php) to safely include individual functional components.
Data Exchange: Lightweight, high-speed abstraction layer utilizing stringified JSON payloads for all client-server communications.