RESTful App Plan: Kotlin + MVP (Suspended)

About App

I have to improve my Android skills so I decided to create a new app that uses RESTful API. It is not my first REST app because I already created Flickr and Weather but this one will include things like:

Kotlin

MVP pattern

RxJava2

Dagger2

Retrofit

I will use Trello API and Kotlin android starter as a base. This is “live-post” so I will try to update it every day.

Learning Stage

I spent one week on learning as much as possible about Dagger, RxJava. I knew how to implement it but I wanted to fully understand it. I also analyzed and understood Kotlin android starter. It already taught me better project structure. It also introduced me things like:

Stetho

LeakCanary

Sherlock

Traceur

Issues

I found some issues in my previous projects:

Not logging properly

Not sure if I handle MVP when orientation changes

Messed-up search bar

Not-so-good dependency injection

My friend told me that I should check out Mosby as it’s a great lifehack when using MVP. I spent some time on it and now I have a great solution for MVP orientation change.

Solutions

Use Timber for logging

Mosby provides ViewState that will handle it

RxJava2 will be good for search bar

Refactoring di with current knowledge should be easy

Now I’m much better especially at project structure and Dagger usage. I have to admit that I’m a little bit ashamed because I was learning from small projects that I have not committed on GitHub. My old published projects remain untouched. I have to admit- those are poorly written regarding things I learned last 2 weeks. I have to do something about it. I will not refactor everything but I will definitely change it a little bit.

Small surprise

I neglected one inconspicuous thing. While I was delivering better content by the day, my book cover was usually not so professional. I’m talking about git commit messages. I have not figured it out on my own but fortunately, my friend Maciej pointed it out. Well, there is always something to learn.

Project Suspended

Fortunately, I got the chance to make test app for a company as the second step of recruitment. The RPN calculator. Anyway, I just finished the first version of SimpleONP(technically SimpleRPN) and I will write about it in a separate article because I learned a lot and I was fortunate to get a lot of help. RESTful project is suspended but I think that I will continue it anyway. Maybe in a few days.