A modern Android chat application built with Clean Architecture principles, featuring a DeepSeek AI-powered chatbot.
- Real-time chat interface with AI
- Message history persistence
- Clean Architecture implementation
- Modern UI with Jetpack Compose
- Dependency Injection with Hilt
- Local storage with Room
- Network calls with Retrofit
- UI Layer: Jetpack Compose, Material3
- Architecture: Clean Architecture, MVVM
- Dependency Injection: Hilt
- Local Storage: Room Database
- Networking: Retrofit, OkHttp
- Asynchronous: Kotlin Coroutines, Flow
- Serialization: Moshi
- Navigation: Jetpack Navigation Compose
app/src/main/java/com/demo/smartchatbotapp/
├── common/ # Shared utilities and extensions
├── data/ # Data layer
│ ├── local/ # Local data sources (Room)
│ ├── remote/ # Remote data sources (Retrofit)
│ └── repository/ # Repository implementations
├── domain/ # Domain layer
│ ├── model/ # Domain models
│ ├── repository/ # Repository interfaces
│ └── usecase/ # Use cases
├── di/ # Dependency injection modules
└── ui/ # UI layer
├── screen/ # Composable screens
├── theme/ # UI theme
└── viewmodel/ # ViewModels
- Clone the repository
- Open the project in Android Studio
- Add your DeepSeek API key in
local.properties:DEEPSEEK_API_KEY=your_api_key_here - Sync project with Gradle files
- Run the app
The app follows Clean Architecture principles with three main layers:
-
Data Layer
- Handles data operations
- Implements repository interfaces
- Manages local and remote data sources
-
Domain Layer
- Contains business logic
- Defines repository interfaces
- Implements use cases
-
UI Layer
- Manages user interface
- Implements ViewModels
- Handles user interactions
Key dependencies are managed through version catalogs in gradle/libs.versions.toml.
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.