Skip to content

codebythura/Chatify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Chat app built with Ktor and Jetpack Compose

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages