/v2_survey_android_app

Survey application built for V2 Limited.

Primary LanguageKotlin

V2 Survey App

A simple survey app made with all the Modern Android Development tools (Flow, Jetpack ViewModel, Room, and Retrofit), and built with Modern Android App Architecture (MVVM + Uncle Bob's Clean Arch). It is also well-tested by Unit-tests, and Instrumental tests.

Features

  • Get a survey that the user can answer.
  • Can answer question and answer.
  • Can also view previously answered questions.
  • Material Design 3 and auto dark and light mode.

Demo

Screenshot-20220825-005210 Screenshot-20220825-005226 Screenshot-20220825-005308 Screenshot-20220825-005332 Screenshot-20220825-005344 Screenshot-20220825-005358

Tech Stack

  • Android SDK, for building app for android platform.
  • Kotlin Language
  • Kotlin Coroutines, for multithreading
  • Retrofit and GSON, to handle network request and network response.
  • Room, for saving data locally.
  • Dagger-Hilt, for dependency injection.
  • Timber, for better and improved logging.
  • Easy Permission, for handling permission.
  • JUnit and MockK, for unit testing.
  • Espresso, for instrumental and UI testing.

Run Locally

Clone the project

  git clone https://github.com/kabirnayeem99/v2_survey_android_app.git

Go to the project directory

  cd v2_survey_android_app

To make sure everything is working, first run the unit tests. Invoke gradle test:

  gradlew test

And then invoke instrumental test:

  gradlew connectedAndroidTest

To build a debug APK, open a command line and navigate to the root of your project directory. To initiate a debug build, invoke the assembleDebug task:

  gradlew assembleDebug

This creates an APK named v2_survey_android_app-debug.apk in v2_survey_android_app/build/outputs/apk/. The file is already signed with the debug key and aligned with zipalign, so you can immediately install it on a device.

Or to build the APK and immediately install it on a running emulator or connected device, instead invoke installDebug

  gradlew installDebug

Authors