Skip to content

A small micro blogging Android App and will have to show the 3 types of objects Users, Posts and comments which built to demonstrate use of Modern Android development tools - (Kotlin, Dagger 2, Architecture Components, MVVM,Retrofit, Material Components).

Notifications You must be signed in to change notification settings

souravpany/MicroBlogApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 

Repository files navigation

MicroBlogApp


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.

Users Section

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

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

Post Detail Section

It will list the Post title, Post Body and all the Post Comments

Rest Resources and their fields to be displayed

User

● Id
● Name
● Email

Post

● Id
● UserId
● TItle
● Body

Comments

● Id
● PostId
● Name
● Email
● Body

Built With 🛠

  • 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.
    • LiveData - Data objects that notify views when the underlying database changes.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • Dagger 2 - Dependency Injection Framework
  • Retrofit - A type-safe HTTP client for Android and Java.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.

Package Structure

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

Architecture

This app uses MVVM (Model View View-Model) architecture.

About

A small micro blogging Android App and will have to show the 3 types of objects Users, Posts and comments which built to demonstrate use of Modern Android development tools - (Kotlin, Dagger 2, Architecture Components, MVVM,Retrofit, Material Components).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages