Skip to content

AhmedvHashem/EventtusAssignment

Repository files navigation

EventtusAssignment

a simple twitter client for android using TwitterKit SDK

Features

  1. Splash Screen that decides the logic of opening Login or Followers screen.
  2. Login with your Twitter.
  3. Followers screen that shows the current user followers in a recycler view with Pull to Refresh and Infinite Scrolling.
  4. Followers Information shows basic user information and his/her last 10 Tweets.

Extra Bonus

  1. Followers/FollowerInfo screens works in offline mode using api response caching not a local database like SQLlist or Realm.
  2. Followers Information screen with a sticky header for background image.
  3. Localization for Arabic and English.

Architecture Design Pattern used

Third party library used

  1. TwitterSDK
  2. Retrofit
  3. Gson
  4. Picasso
  5. Butterknife
  6. Parceler
  7. RoundedImageView
  8. LeakCanary
  9. Stetho

Why

  1. Retrofit: Type-safe HTTP client for Android and Java by Square, Inc. with retrofit we can easly call web apis and with the help of Gson we can parse JSON and capture JSON from the response body, all we need to deal with is just a plain java objects (POJO) files

  2. Picasso: again from Square, Inc. comes the Image loading library. Many common pitfalls of image loading are handled by Picasso like

  • Memory caching out of the box with the help of OkHttp
  • customizable complex image transformation
  • download cancellation in an adapter hassle-free
  1. Parceler: using Annotations it allows you to convert you POJO to a Parcelable object and using it is much faster than using Serialization as Parcelables does not use reflection.

  2. Butterknife: view injection can never be easer. it reduce the amount of boilerplate code for just initialize views and hooking view event like OnClick.

  3. LeakCanary: the nightmare catcher. it catches MemoryLeaks on the fly and alert you with the leak details in a push notification msg, neat hah.

  4. Stetho: helps in network inspection that saves countless hours between mobile and backend teams

About

a simple twitter client for android

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages