Skip to content

yusuf0405/SpeakEasy

Repository files navigation

Speak Easy Translator

"Speak Easy Translator" is your go-to app for instant text and speech translation. With support for multiple languages and an easy-to-use interface, it’s perfect for travel and learning.

  • KMP (Kotlin Multi-Platform) Compose-based Proof-of-concept experimental app for iOS and Android.
  • Pure Kotlin App using ComposeApp core and ComposeApp Compose based UI, running in native Kotlin.

Kotlin badge-kmp badge-android badge-ios

Build

  • In project, implemented a composite build structure to enhance modularity and improve build times. This approach allows us to develop and test individual components independently while maintaining a cohesive project architecture. It simplifies dependency management and facilitates collaboration among team members.

Libraries

Android Jetpack

  • Lifecycle An interface that automatically responds to lifecycle events.

  • Navigation Navigation refers to interactions that allow users to navigate through , enter, and exit various parts of the content in your app. Navigation component Android Jetpack helps you navigate, from simple button clicks to more complex templates like application panels and navigation bar. The navigation component also provides a consistent and predictable user interface, adhering to an established set of principles.

  • ViewModel Data related to the user interface that is not destroyed when the application is rotated. Easily schedule asynchronous tasks for optimal execution.

Image loader

  • Coil3 Coil3 is a highly optimized, pluggable Compose image loading solution.

Multithreading

  • Coroutines Asynchronous or non-blocking programming is an important part of the development landscape. When creating server-side, desktop, or mobile applications, it's important to provide an experience that is not only fluid from the user's perspective, but also scalable when needed.

DI

  • Koin Koin is a pure Kotlin library and can be used in your shared Kotlin project.

Network

  • Ktor The Ktor HTTP client can be used in multiplatform projects. In this tutorial, we'll create a simple Kotlin Multiplatform Mobile application, which sends a request and receives a response body as plain HTML text.

Database

  • Room (Kotlin Multiplatform) The Room persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite. This page focuses on using Room in Kotlin Multiplatform (KMP) projects. For more information on using Room, see Save data in a local database using Room or our official samples.

  • DataStore (Kotlin Multiplatform) The DataStore library stores data asynchronously, consistently, and transactionally, overcoming some of the drawbacks of SharedPreferences. This page focuses on creating DataStore in Kotlin Multiplatform (KMP) projects. For more information on DataStore, see the primary documentation for DataStore and official samples.

Screen Shots

Android Screenshots

image image image image image image

iOS Screenshots

image image image image image image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published