Application for managing users by using Go REST API


  • Clean Architecture with MVVM as presentation layer

Aceptance criteria

1.Displaying list of users

After app is open list of users is displayed (only users from last page of the endpoint) Each entry contains name, email address and creation time (relative to now) Loading and error state are welcome

2.Adding new user

After + button is clicked pop up dialog is displayed with name and email entries After confirmation and successful user creation (201 response code) item is added to the list

3.Removing existing user

After item long press pop up dialog is displayed with question “Are you sure you want to remove this user?“ After OK is clicked and user is removed (204 response code) item is deleted from the list

Technical requirements

  • Kotlin with minimum Android SDK version of 21
  • support device rotation
  • Design follow Material design guidelines
  • RxJava
  • Architecture one of MVVM
  • Dependency injection with Dagger 2
  • Unit tests

Error handling

Added handling for errors such as authorization failed, no internet, validation failed and others.

Note: Before launching app enter YOUR_API_KEY to file in the project.




View Github