Skip to content

mady1991/Voice-Recoder-Challenge

Repository files navigation

Voice-Recoder-Challenge

Voice-Recoder-Challenge app illustrating Android development best practices with Android Clean Architecture, Kotlin, Compose, Dagger, Coroutine, Gson, MVVM, DataBinding, Navigation, Retrofit & Services.

About this project :

  • Download audio file using native audio recorder
  • Save file & upload file on server
  • Create record of that file on server
  • Get all added records from server
  • Download all added files from sever

Introduction

This project uses the Gradle build system. To build this project, use the gradlew build command or use "Import Project" in Android Studio. There are two Gradle tasks for testing the project:

There are two Gradle tasks for testing the project:

  • connectedAndroidTest - for running Espresso on a connected device
  • test - for running unit tests

Screenshots

Permission Audio

Libraries Used

  • Foundation - Components for core system capabilities, Kotlin extensions and support for multidex and automated testing.

  • AppCompat - Degrade gracefully on older versions of Android.

  • Android KTX - Write more concise, idiomatic Kotlin code.

  • Test - An Android testing framework for unit and runtime UI tests.

  • Architecture - A collection of libraries that help you design robust, testable, and maintainable apps. Start with classes for managing your UI component lifecycle and handling data persistence.

  • Data Binding - Declaratively bind observable data to UI elements.

  • Jetpack Compose - Jetpack Compose is Android’s recommended modern toolkit for building native UI.

  • LiveData - Build data objects that notify views when the underlying database changes.

  • Navigation - For set up and work with the Navigation component

  • Dagger - Automate dependency injection in your app & you don't have to write tedious & error-prone boilerplate code.

  • Coroutines for managing background threads with simplified code and reducing needs for callbacks

  • ViewModel - Store UI-related data that isn't destroyed on app rotations. Easily schedule asynchronous tasks for optimal execution.

  • UI - Details on why and how to use UI Components in your apps - together or separate

  • Layout - Lay out widgets using different algorithms.

  • Third party

  • Retrofit2 for client and server intreaction and callback

  • GSON A Java serialization/deserialization library to convert Java Objects into JSON and back

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages