This application allows users to create product orders and synchronize them with the database on the fly. The application provides a convenient interface for entering orders, and transferring data to a central database for further processing.
-
Programming language: kotlin
-
Architecture Pattern: Single activity
-
Architecture: clean architecture (Presentation, Domain, Data, DataStores)
-
UI pattern: MVVM (Model-View-ViewModel)
-
Asynchronous Programming: Kotlin flow, Coroutines
-
Local database: Room
-
Local storage: EncryptedSharedPreferences
-
Navigation: Navigation component
-
Network: Retrofit2, OkHttp, Apache FTP
-
Image: Glide
-
Background task: WorkManager
-
Dependency injection: Dagger 2
-
Them: Material Design 3
-
View Layer: XML (for layout design) with Material Design Components
-
Localization: Android resource system for localization
- While the app is running, it subscribes to the availability of a new version, and if there is, the app sends a push notification to the user. You can also check the latest version in the menu of the top bar of programs in the main bar.
- The app is multi language: English and Ukrainian. By default uses language setting from device.
- The app get theme value from device setting.
- When user change device orientation app dynamically recreated with new parameters.
- Access data offline and save new orders locally on the device.