The Micro blogging app will have to show the 3 types of objects Users, Posts and comments.
The app will be a read only App that will read the data from the publicly available Rest API and render the page.
The App will have 3 sections “Users section”
● Users Section
Which will list all the users in the system
● User Profile Section
Which will list the user details and posts by that particular user
● Post Detail Section
Which will list the post details and their comments
When the app is opened the Users section should be shown to the user.
It should list all the users in the system. There should be scrollable list in the activity,
where each element in the list should be 1 username. On clicking the user name the app should
transition to the User Profile Section
The section will list all the fields of the User Object and the list of posts by the user.
On clicking a Post element, the app should transition to the Post Detail Section
It will list the Post title, Post Body and all the Post Comments
Rest Resources and their fields to be displayed
● Id
● Name
● Email
● Id
● UserId
● TItle
● Body
● Id
● PostId
● Name
● Email
● Body
- Kotlin - First class and official programming language for Android development.
- Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
- Retrofit - A type-safe HTTP client for Android and Java.
- Material Components for Android - Modular and customizable Material Design UI components for Android.
com.android.microblogapp # Root Package
.
├── data # For data handling.
│ ├── remote # Remote Data Handlers
| │ ├── api # Retrofit API for remote end point.
├── response # API Response.
└── model # POJO classes
│ └── repository # Single source of data.
|
├── model # Model classes
|
├── di # Dependency Injection
│ ├── builder # Activity Builder
│ ├── component # DI Components
│ └── module # DI Modules
|
├── ui # Activity/View layer
│ ├── base # Base View
│ ├── userssection # User Section Activity & ViewModel
| │ ├── adapter # Adapter for RecyclerView
| │ ├── viewmodel # ViewHolder for RecyclerView
│ └── usersprofile # User Profile Activity & ViewModel
| │ ├── adapter # Adapter for RecyclerView
| │ ├── viewmodel # ViewHolder for RecyclerView
└── postdetails # Post Details Activity & ViewModel
| │ ├── adapter # Adapter for RecyclerView
| │ ├── viewmodel # ViewHolder for RecyclerView
|
└── utils # Utility Classes / Common classes / Rx / display
This app uses MVVM (Model View View-Model) architecture.