iOS App for SwahiLib - Kamusi ya Kiswahili: Kiswahili kitukuzwe (Swahili Dictionary)
# SwahiLib - Kamusi ya Kiswahili
SwahiLib is an iOS app that allows users to search and explore **Swahili words, idioms, sayings, and proverbs** β with offline support and synonyms included where available.
Built with **SwiftUI**, **Core Data**, and backed by **Supabase**, the app offers an intuitive and fast experience even without an internet connection.
> π Android Version Repo: @SiroDaves/SwahiLib-Android
## β¨ Screenshots
## β¨ Features
* π **Search** for Swahili **words**, **idioms**, **sayings**, and **proverbs**
* π **Tap an item** to view full details
* For words and proverbs, view related **synonyms**
* π₯ **Offline-first** experience powered by **Core Data**
* π« **Smooth animations** with **Lottie**
* βοΈ **Dependency injection** using **Swinject**
## π§° Tech Stack
* Supabase β Backend, Auth, and Database
* Lottie β Animation rendering
* Swinject β Dependency Injection
* Core Data β Local persistence for offline use
* SwiftUI β Declarative UI framework
## π Getting Started
### 1. Clone the Repository
```bash
git clone
github.com
cd SongLib-iOS
```
### 2. Set up Supabase Environment
Create your environment file by copying the example:
```bash
cp .env.example .env
```
Then, fill in the `.env` file with your Supabase credentials (API URL, anon/public key, etc.)
---
### 3. Open in Xcode
```bash
open SwahiLib.xcodeproj
```
Or open `SwahiLib.xcworkspace` if you're using CocoaPods or other workspace-based dependency managers.
### 4. Install Dependencies
Ensure you have CocoaPods or use Swift Package Manager. If using CocoaPods:
```bash
pod install
```
Or if using Swift Package Manager, just build the project in Xcode and it will fetch the packages.
### 5. Build and Run
Select the correct simulator or your iOS device in Xcode, then hit:
```
Cmd + R
```
## π‘ Notes
* The app uses Core Data to cache and persist content for offline usage.
* Supabase is used for syncing and querying the latest conten β¦