This project is built with kotlin. All data are collected from https://jsonplaceholder.typicode.com/.
I apply modern architecture for Android App in this project. This application contains features to retrieve all posts data, view post detail & comments and send new post. I'm using Kotlin Udacity and rifqimfahmi's repository as reference. In addition, I use git-karma for the commit messages conventions. There are still room for improvements, so I'm open for any feedback. Sharing with one another helps us all grow and learn. ✌️
@GET("posts")
fun getAllPostsAsync(): Deferred<List<NetworkPost>>
@POST("posts")
fun addPostAsync(@Body body: PostBody): Deferred<Response<NetworkPost>>
@GET("comments")
fun getCommentsByPostIdAsync(@Query("postId") postId: String): Deferred<List<NetworkComment>>
The navigation between fragments is implemented using Navigation Component. Image below shows a visual representation of a navigation graph that contains two actions (both arrows) to different destinations (postDetailFragment and createPostFragment).
- Retrofit - HTTP client
- Moshi - JSON Parser
- Room - Database
- Lifecycle - ViewModel and LiveData
- Coroutines - Threading
- Work Manager - Background working
- Navigation - Navigation Component for navigate transactions
- Timber - Logging
- Stetho - Inspect DB
#Flutter Enthusiast, #Android Developer.