Logo Lanfrica

SiroDevs/SwahiLib-iOS

Domain:

natural language processing

Record type:

tools
Creator:
Sir
Host:
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 …