A modern chat application built with Kotlin Multiplatform and Compose UI.
- Two-User Chat Interface: Switch between User1 and User2 to simulate a conversation
- Real-time UI Updates: Messages appear instantly with smooth animations
- Auto-responses: The app simulates responses from the other user
- Modern Material 3 Design: Beautiful UI with proper theming and message bubbles
- Message Persistence: Messages are stored in memory during the session
- Timestamp Display: Each message shows the time it was sent
- Clear Chat: Option to clear all messages
- Cross-platform: Works on Android and iOS
- MVVM Pattern: Clean separation of concerns with ViewModel managing state
- Repository Pattern: Data layer abstraction for future database integration
- Compose UI: Modern declarative UI framework
- Kotlin Multiplatform: Shared business logic across platforms
- Flow-based State Management: Reactive UI updates
- Main chat interface with message list and input field
- Top bar with user switching and clear chat options
- Auto-scrolling to latest messages
- Material 3 theming
- Individual message component with sender-specific styling
- Timestamp display
- Different colors for current user vs other user
- Rounded corners with proper spacing
- Manages chat state and business logic
- Handles message sending and user switching
- Simulates auto-responses from other user
- Send Messages: Type in the input field and press send or hit enter
- Switch Users: Tap the person icon in the top bar to switch between User1 and User2
- Clear Chat: Tap the clear icon to remove all messages
- Auto-responses: After sending a message, the other user will automatically respond
- SQLDelight database integration for persistent storage
- User authentication
- Real-time messaging with WebSocket
- Message reactions and replies
- File and image sharing
- Push notifications
# For Android
./gradlew :composeApp:assembleDebug
# For iOS (requires Xcode)
./gradlew :composeApp:iosAppThe app demonstrates a complete chat interface with all the essential features needed for a messaging application.