Skip to content

blackchalk/kotlin-pwd-seniorcitizen-app

Repository files navigation

PWD SENIOR CITIZEN MOBILE APP

Development of pwd/senior citizen id and card

Are you here reading the codebase?

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

Prerequisites

[This project requires Android Studio version 3.6 or higher.]

Getting Started

There are a few ways to open this project.

Android Studio

  1. Android Studio -> File -> New -> From Version control -> Git
  2. Enter https://github.com/blackchalk/kotlin-pwd-seniorcitizen-app.git into URL field

Highlights

  1. Create/Read/Update User(PWD/Seniors)
  2. Scan QR code receipt generated by pos
  3. Record and View transaction history
  4. View individual transactions

The app has following packages:

  1. data: It contains all the data accessing and manipulating components.
  2. di: Dependency providing classes using Dagger2.
  3. ui: View classes along with their corresponding ViewModel.
  4. utils: Utility classes.

The whole application is built based on the MVVM architectural pattern.

Application Architecture

alt text

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).

Libraries, tools used

Screen shots

Unavailable

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages