The key idea of the application is to enhance the user experience when working with vk's recommendation feed giving it a new breath.
- Jetpack compose for user inteface
- Kotlin flows + coroutines for asynchronous operations
- Dagger2 for dependency injection
- Room to store data locally
- Retrofit for api calls
- Picasso to display images
- MVVM architecture
vk api: https://dev.vk.com/reference
"VK enjoyer" has 5 sections:
- Authorization
- Main (recommendations)
- Main (comments)
- Favorites
- Profile
In the authorization screen the user sign in or sign up to their account using VK ID. Here you can see lottie-animation
The whole screen is a feed post the user can scroll. There are interactive metrics at the end of each post: the number of views, shares, comments, likes. So, the user can share the post on their, like it or go to the Comments screen. It's not over yet. The post can be ignored (that say it will never appear in the post feed again) and cached. A pop up window appears with the list of availiable tags that can be assosiated to the post.
The screen is simple as 1,2,3... It provides a list of comments to the post the user can scroll and read.
Here the user can filter cached posts by chosen tags and retrieve accordingly results. A tag can be created and deleted. All the posts with the tag the user is about to delete, are also going to be deleted. If you wish, you might delete posts you don't wan't to be cached anymore by swiping.
In the profile screen the user can see brief information about someone and more detailed information clicking on "more details". There is also scrollable user's wall
Also app supports both dark and light theme
In overall, this app provides not only the ability to view the recommendation post feed in the concise way but also the ability to cache posts assosiating them with tags in the user's mobile phone storage.