Chatne is a simple chat application built with Kotlin and Jetpack Compose that allows authenticated Google users to join a single shared chat room.
This project was initiated to explore Firebase Authentication, WebSocket, and Push Notifications. Initially focusing on building a basic chat app, I aim to expand its functionality to include person-to-person chats and options for connecting users with strangers. This ongoing development journey is driven by a passion for learning and innovation.
-
UI: Built with Jetpack Compose and Coil for image loading.
-
Architecture: Utilizes Circuit for MVI Pattern + Navigation, apply Clean Architecture principles.
-
Dependency Injection: Powered by Koin.
-
Firebase: Integrates Firebase Authentication for Google Sign-In and Firebase Cloud Messaging for receiving push notifications.
-
Network: Utilizes Ktor Client for REST API and WebSocket communication.
-
Storage: Implements Realm for offline-first chat history storage.
-
Additional: Utilizes Kotlinx Datetime for easy serialize and deserialize Instant time.
-
Intuitive Interface: Built using Jetpack Compose for a seamless chat experience.
-
Google Authentication: Sign in with your Google account, with a sign-out option via your avatar.
-
Single Chat Room: Connect with others in one shared space, with access to the entire chat history.