It is a sample Android mobile application designed to be used on Android Pos Terminals in sales workplaces.
- The application was developed with MVVM design pattern.
- There are two types of users in the application: Manager and Cashier (Manager is also a cashier with all powers.)
- Users can log in to the system and carry out their transactions based on their accounts.
- Users can change their passwords.
- Sales transactions can be made and products can be offered to customers.
- New products and categories can be easily added.
- Business owners (managers) or cashiers (those with authority) can add new cashiers to the system.
- It is possible to view past orders and filter orders according to the desired criteria.
- When the credit card payment option is chosen, the payment transaction is made by card via the POS device.
- Once the payment process is completed, a physical receipt is automatically generated.
- The receipt content includes customer information, order information and the logo of the application.
- [Foundation]
- Android KTX - It is used to make the application more readable and easier to use.
- AppCompat - It is a library that ensures Android applications are compatible with material design.
- [Architecture]
- Room - It is a library used to create and manage local databases.
- Lifecycles - It is used to facilitate lifecycle management of activities and fragments.
- LiveData - It is used to manage and monitor data flow.
- ViewModel - It is used for storing data and sharing data between UI components.
- [UI]
- Animations & Transitions - It is used to use animations in transitions between screens.
- Fragment - It is used as a reusable UI component.
- Layout - Widgets are used to design the user interface.
- [Third Party]
- Glide - It is used for image uploading operations.
- Kotlin Coroutines - It is used for asynchronous operations.
- Dagger-Hilt - It is used to perform Dependency Injection.
- SharedPreferences - It is used to save small data.
- Barcode Scanner - It is used to scan barcodes.
Make sure to have the following pre-requisites installed:
- Java 17
- Android Studio
- Android 7.0+ Phone or Emulation setup
Fork and clone this repository and import into Android Studio
git clone https://github.com/CampusCoders/PosTerminalApp
Use one of the Android Studio builds to install and run the app in your device or a simulator.
Login Page | Categories Page | Products Page |
---|---|---|
Shopping Cart Page | Cashiers Page | Daily Report Page |
---|---|---|
pos_terminal.mp4
You can access the figma design here.
This project is licensed under the MIT License. For more information, please see the LICENSE file.
- The application requires users to perform an initial login on the first screen. The following information is needed for this process:
- Terminal Identity Number (Terminal ID)
- Turkish ID Number or Tax ID Number (TCKN or VKN)
- Merchant Identification Number (Merchant ID)
- Password
Typically, these details are provided by the distributor for each merchant. In the case of this mobile application example, the necessary information is stored statically in the Constants.kt file. You can modify these details if needed. To input the information easily on the screen, you can click the "test" radio button.
- The SDK for the POS device is not included in the project due to licensing issues.