An offline-first android app for SwahiLib - Kamusi ya Kiswahili: Kiswahili kitukuzwe (Swahili Dictionary)
# SwahiLib - Kamusi ya Kiswahili
**SwahiLib** is a beautifully crafted Android app that lets users explore and search through a rich collection of **Swahili words, idioms, sayings, and proverbs**, with support for offline access, clean UI, and real-time updates.
This version is built using **Jetpack Compose**, **Room**, **Hilt**, and backed by **My Custom API** for remote data.
> 🔗 iOS Version Repo: @SiroDaves/SwahiLib-iOS
## ✨ Screenshots
## ✨ Features
* 🔍 **Search** for Swahili **words**, **idioms**, **sayings**, and **proverbs**
* 📘 **View details** by tapping on any result
* See **synonyms** for words and proverbs where available
* 💾 **Offline-first** support using **Room Database**
* 💉 **Dependency injection** powered by **Hilt**
## 🧰 Tech Stack
### UI & Architecture
* Jetpack Compose (Material 3, Navigation, LiveData, Previews)
* Hilt for Dependency Injection
* Room for local database
* Kotlinx Serialization
* Retrofit & Ktor for HTTP networking
## 🚀 Getting Started
### 1. Clone the Repository
```bash
git clone
github.com
cd SwahiLibLib-Android
```
### 2. Open in Android Studio
Open the project in the latest version of **Android Studio** (Giraffe or later recommended for best Jetpack Compose support).
### 3. Build the Project
The app uses Gradle version catalogs for dependencies. Android Studio should sync and resolve everything automatically. If not, run:
```bash
./gradlew clean build
```
Or use **Sync Project with Gradle Files** in the IDE.
### 4. Run the App
Connect a physical Android device or use an emulator, then click **Run** or press:
```
Shift + F10
```
## 📄 Notes
* The app syncs content from the Api and stores it in Room for offline usage.
* Data updates are triggered automatically via ViewModel logic.
* All dependencies are managed using **libs.versions.toml** for cleaner and centralized version control.
## 📦 Main Libraries Used
| Category | Library …