Birkaç hafta önce bu tarz bir proje yapıyordum fakat ara verdim. Bilmen gerekenler:

Server side: Sunucu mantığı ve api. Ben Node.Js ve ExpressJs kullandım.
Client side: Retrofit, Okhttp, Picasso, Gson kütüphaneleri yazılması gereken kodu %90 azaltıyor ve geriye soruları serverdan çekip kullanıcıya göstermek kalıyor.

Tabi benimkisi daha komplike birşeydi ama bilmen gerekenler bunlar. En az bir dil ve algoritma.