Skip to content

Multiplatform app that displays KPLC power outage alerts in Kenya. Consumes data parsed from pdf by this lib https://github.com/Borwe/kplc-outage-server

Notifications You must be signed in to change notification settings

EdwardMuturi/KPLC-Outage-App

Repository files navigation

KPLC-Outage-App

A Kotlin Multiplatform app that displays KPLC power outage alerts in Kenya. Consumes data parsed from pdf by this lib https://github.com/Borwe/kplc-outage-server

Prerequisite

// ToDo

Project Structure

// ToDo

Libraries

Shared

  • Koin - Kotin dependency injection library with multiplatform support.
  • Ktor - Provides multiplatform libraries required to make network calls to the REST API.
  • SQLDelight - Cross-Platform database library
  • Realm - Caching of application data from network responses.
  • Multiplatform Settings - This is a Kotlin library for Multiplatform apps, so that common code can persist key-value data.
  • kotlinx.coroutines - Library support for Kotlin coroutines with multiplatform support.
  • kotlinx.serialization - Provides sets of libraries for various serialization formats eg. JSON, protocol buffers, CBOR etc.
  • kotlinx.datetime - A multiplatform Kotlin library for working with date and time.
  • Napier - Logging library for Kotlin Multiplatform.
  • Mockk - Library for creating mocks for tests.

Android

  • Jetpack Compose - Modern toolkit for building native UI.
  • Coil - An image loading library for Android backed by kotlin coroutines.

Plugins

  • KtLint - This plugin creates convenient tasks in your Gradle project that run ktlint checks or do code auto format.
  • Detekt - A static code analysis tool for the Kotlin programming language.
  • Gradle Versions Plugin - This plugin provides a task to determine which dependencies have updates.

Sample Projects

  1. Notflix - An android and desktop app built using Kotlin Multiplatforom that consumes TMDB API to display current trending, upcoming and popular movies🍿 and tvshows🎬.

Learning Resources

  1. Official intro to Kotlin Multiplatform
  2. Migrating to Kotlin DSL medium article by Chepsi.
  3. Make your Android application work on iOStutorial.
  4. CocoaPods overview and setup tutorial.
  5. Creating a cross-platform mobile applicationofficial tutorial by the Ktor team.
  6. Using Koin in a Kotlin Multiplatform Project article by John O'Reilly.
  7. GitHub README on creating compose multiplatform desktop application
  8. GitHub Repository Template showcasing how to setup a gradle plugins by Harun Wangereka.
  9. Official SQLDelight KMP Documentation on getting started with SQLDelight.
  10. Getting started with Compose Multiplatform.
  11. Developing UI: Compose Multiplatform article by Raywenderlich.
  12. Wrapping Kotlin Flow with Swift Combine Publisher in a Kotlin Multiplatform project by John O'Reilly.
  13. T-shaping for iOS Developers with Kotlin Multiplatform in 4 hours! .
  14. Kotlin Multiplatform Mobile: what is it and when should you use it? blog post.
  15. Introduction to Kotlin Multiplatform Mobile - Getting Started article.

Work In Progress

  • Update README
  • Create sample projects - Work In Progress

About

Multiplatform app that displays KPLC power outage alerts in Kenya. Consumes data parsed from pdf by this lib https://github.com/Borwe/kplc-outage-server

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published