Skip to content

mjalijani/SplitWisely

Repository files navigation

SplitWisely

📚 Android Application named Spliwisely and inspired by SplitWise, written in Kotlin, following best practices using Jetpack.

Android Components Architecture in a Modular Word is a sample project that presents a list of NFT, for development using Kotlin and the latest tech stack.

Table of Contents

Design

Groups Activity Friends

Architecture

The architecture of the application is based, applied, and strictly complies with each of the following 5 points:

Tech-stack

This project takes advantage of many popular libraries, plugins, and tools of the Android ecosystem.

Dependencies

  • Jetpack:
    • Android KTX - Provide concise, idiomatic Kotlin to Jetpack and Android platform APIs.
    • AndroidX - major improvement to the original Android Support Library, which is no longer maintained.
    • Lifecycle - perform actions in response to a change in the lifecycle status of another component, such as activities and fragments.
    • LiveData - lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragments, or services.
    • ViewModel - designed to store and manage UI-related data in a lifecycle-conscious way. The ViewModel class allows data to survive configuration changes such as screen rotations.
  • Coroutines - managing background threads with simplified code and reducing the need for callbacks.
  • Dagger2 - dependency injector for replacement of all FactoryFactory classes.
  • Retrofit - type-safe HTTP client.

Backend

The data is received remotely from the server and then displayed in the application (Not Implemented yet).

#SERVER

BASE_URL = "/"

Routes = ["", ""]

Best practices

Avoid reinventing the wheel by following these guidelines:

Author

Mohammad Javad Alijani

Linkedin