Skip to content

Latest commit

 

History

History
69 lines (50 loc) · 2.71 KB

File metadata and controls

69 lines (50 loc) · 2.71 KB

Chatify Header

🚀 Overview

Chatify is a full-stack, real-time chat application that demonstrates modern Android and server-side Kotlin development. It includes:

  • A Ktor WebSocket server that handles user connections, avatar data, and message broadcasting.
  • A Jetpack Compose client app where users pick avatars, set a nickname, and join a shared group chat room.

✨ Features

✅ Real-time messaging powered by Ktor WebSockets
Avatar selection — choose from a list served by the backend
Nickname setup — shown in chat messages
Group chat room where all users can communicate
Reactive UI with Jetpack Compose


🏗️ Tech Stack

Layer Technology
Backend Ktor (WebSockets, JSON serialization, Exposed ORM, Kotlin Coroutines)
Database H2 (via Exposed)
Client Jetpack Compose
Networking Ktor Client (CIO engine, WebSocket support)
Serialization kotlinx.serialization
Dependency Injection Hilt
State Management Kotlin Flow + ViewModel

📱 App Flow

1️⃣ Avatar Selection   The client requests an avatar list from the server.   The user chooses one and enters a nickname.

2️⃣ Join Chat Room   After submitting, the app navigates to the group chat screen.

3️⃣ Real-Time Messaging   Messages are exchanged instantly via WebSocket.   User messages are styled separately (mine vs. others).


📱 Screenshots