Development of pwd/senior citizen id and card
If you are here to explore the codebase and how technologies are implemented take note that this app is in partner with a POS system. Backend API is modelled the way how a simple pos system may transfer information to an application. You can find more information on how the backend works by checking the APIInterface class
If you want to make this app work you need to setup your own server, api and model how the app is designed or make your own!
- Kotlin
[This project requires Android Studio version 3.6 or higher.
]
There are a few ways to open this project.
- Android Studio -> File -> New -> From Version control -> Git
- Enter
https://github.com/blackchalk/kotlin-pwd-seniorcitizen-app.git
into URL field
- Create/Read/Update User(PWD/Seniors)
- Scan QR code receipt generated by pos
- Record and View transaction history
- View individual transactions
- data: It contains all the data accessing and manipulating components.
- di: Dependency providing classes using Dagger2.
- ui: View classes along with their corresponding ViewModel.
- utils: Utility classes.
The whole application is built based on the MVVM architectural pattern.
The main advatage of using MVVM, there is no two way dependency between ViewModel and Model unlike MVP. Here the view can observe the datachanges in the viewmodel as we are using LiveData which is lifecycle aware. The viewmodel to view communication is achieved through observer pattern (basically observing the state changes of the data in the viewmodel).
- Architecture Components (LiveData, ViewModel, Android Navigation Component based navigation, Room Persistence)
- Android Data Binding
- Dagger2 for dependency injection
- RxJava & RxAndroid for composing asynchronous and event-based programming
- Retrofit for a type-safe HTTP client
- OkHttp for HTTP & HTTP/2 client
- GSON for JSON Serialization
- Stetho for network inspection
- LeakCanary for memory leak detection
- Qrcodereaderview for QR code decoding
Unavailable