/UserResume

User Resume Application

Primary LanguageKotlin

Resume App

Introduction

The app is used to view the resume of the user. The data is uploaded on gist.github.com and is being fetched using Retrofit by the app. The data contains the resume of all the users in Json format. The data from the server is converted into the Kotlin data class which is being used to show the resume details on the UI.

Installation

I have uploaded pre-released APK to the release tab - this could be retrieved and installed by following the steps below

  1. Go to the url https://github.com/shuklaaradhana/UserResume
  2. Navigate to the release tab - you will find User Resume Apk
  3. Go to the Assets section, you will find the apk named resume-app-release.apk
  4. Click on the file name, it will get downloaded in the android device
  5. Open the dowloaded app, it will ask for your permission to install the app
  6. Click on Install, it will ask your permission to install from Unknown sources
  7. Allow installing from Unknown sources, the app will get installed.
  8. After installation you will see the users list screen with multiple users.
  9. Click on any user and you will be navigated to the resume of that user.

About the App

The app consists of two screens

  1. First screen shows the list of users, uses RecylerView (ResumeListFragment)
  2. When you click on the user name on the first screen, resume details of that user are shown along with the list of his experiences. The list of experiences is a recycler view which can be scrolled. (ResumeDetailsFragment)

User_List

User_resume_details

Tools and Technologies used

Key points -

  • Used Dagger 2 for injection of Activities, Fragments and other classes
  • Used Retrofit 2 for network calls
  • Used RxJava 2
  • Used Data Binding to set the text and onClick calls
  • Used JUnit and Mockito for Unit testing
  • Used espresso for UI instrumented test cases
  • Used Kotlin
  • Using MVVM design pattern
  • Used dimen and style xml files to standardize the layout throughout the app
  • Used vector drawables
  • Used ConstraintLayout
  • Used RecylerView to show
    • User names list on the first screen
    • List of the user experiences when clicking on a particular user name on the first screen, user is navigated to his resume

Run the test cases

  1. Unit Test cases ResumeViewVmImplTest.kt
  2. UI Instrumented Test Cases ResumeDetailsTest.kt

`