Skip to content
levietanh2003Public

About

Next Life is a rental room finder application that helps users search based on location, price, and amenities. Built with the MVVM architecture, it ensures clean code organization, easy maintenance, and efficient data flow from backend to UI.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Latest commit

Β 

History

55 Commits

Folders and files

Repository files navigation

NEXT LIFE

android TvManiac Debug

🚧 Overview 🚧

Next Life is an application designed to help users find rental rooms based on criteria such as location, price, and amenities. The application adopts the MVVM (Model-View-ViewModel) architecture to ensure clean code organization, ease of maintenance, and efficient data handling from the backend to the user interface.

Min API Level Supported : 21

Prerequisite

Before running the project check your gradle version matches the required.

package-name: com.fatherofapps.androidbase
compileSdkVersion = 21
targetSdkVersion = 33
minSdkVersion = 21

Environment Setup

To ensure a smooth deployment process and a clear separation of concerns, the project is configured to support three distinct environments: Development, Staging, and Live. Below are the details for setting up each environment.

  β”œβ”€β”€ dev/
  β”œβ”€β”€ staging/
  β”œβ”€β”€ live/

Table of Contents

Architecture

The Application is split into a three layer architecture inorder to provide clean separation of concerns - making the code easier to navigate and maintain.

  • Data - Layer that holds APIs, Database, Cache
  • Domain - Layer that holds Use Cases, and Model Objects. Business logic happens here.
  • Application - Layer that holds presentation, Android components, Viewmodels, Dagger components/modules handles Dependency Injection, etc. MVVM exists at this layer.

The three layered architectural approach is majorly guided by clean architecture which provides a clear separation of concerns with its Abstraction Principle.

MVVM Implementation:

  • Fragment (View): Displays the user interface and handles user interactions.
  • ViewModel: Manages the stateful data, handles business logic, and communicates with the Repository.
  • Repository: Acts as a mediator, aggregating data from both the RemoteService (API) and LocalService (Room Database).
  • RemoteService: Uses Retrofit to call APIs and retrieve data from the backend.
  • LocalService: Manages local data storage with Room Database.

Architecture

Backend

Features

  • Users can filter and search for rental rooms by district, price range, and available amenities.
  • Displays detailed information about each room, such as rental price, size, and contact information.
  • Connects to the backend to provide the latest updates on available rooms.
  • Support running ads for user posts.
  • Offline Storage ( Scheduled repo remote controller syncing, App will sync with backend server in every 2hrs )

Libraries

Following are the Libraries used:

Extras

Gradle Dependencies

  • dependencies.gradle - Centralized versioning of gradle dependencies in a global file
  • Version.properties - App version details

Resource Values

  • Fonts
  • Dimension & String Values
  • Themes & Styles
  • Network Config

Android Screenshots

Home

Detail1

Detail2

Detail3

Profile

Wallet

Deposit History

Edit Profile

Post news1

Post news2

Post news3

Post news4

Chart basic

Demo

About

Next Life is a rental room finder application that helps users search based on location, price, and amenities. Built with the MVVM architecture, it ensures clean code organization, easy maintenance, and efficient data flow from backend to UI.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages