Programming stack, Tools, Libraries
Programming stack
This is the main programming stack used to develop the android mobile apps so far:
-
Android SDK
-
Kotlin Programming Language
-
Jetpack Compose for UI framework (No XML for UI): The compose UI framework has been completely adopted in the app like compose navigation and others.
-
The MVVM (Model-View-ViewModel) design pattern was used when developing the apps (link).
-
Android Studio IDE: This is very important as it makes the development process
Tools
The main tools used are as follows:
-
Android Studio IDE: This is very important as it makes the development process much easier. It has great support for kotlin, jetpack compose and ofcourse android. Always use the latest android studio version for best features.
-
JadX (github link) for android apk inspection.
-
Material Design 3 (github link) as design principles.
-
Figma Used for design (link).
-
Use the backend tools specified in the backend setup documentation for mobile app related backend work.
-
Jitpack for deploying and hosting public in house libraries mentioned below under Libraries.
Libraries
Inspect the app code base to understand the dependencies and libraries used. This is a highlight of the important libraries used.
-
Jetpack Compose (github link)
-
Retrofit (link) for networking. Moshi and Gson for json parsing.
-
Dagger hilt android (link) for dependency injection.
-
Android shared preferences and Room for data persistance.
-
Kotlin Coroutines for concurrent programming.
-
Eagle scan (link) library for barcode scanning.
-
Coil compose for images.
-
Two additional in house kotlin libraries were created by developers at BigLedger:
Others
-
The google sign in was implemented through google auth services library (link). The setup was done in google cloud console under the akaun.com organization.
