My VKU is currently under heavy development. Note that some changes (such as database schema modifications) are not backwards compatible and may cause the app to crash. In this case, please uninstall and re-install the app.
Clone project using this command
git clone https://github.com/tsnanh/MyVKU.git
and open project folder using Android Studio.
A strong base architecture is extremely important for an app to scale and meet the expectation of the user base.
Gradle’s Kotlin DSL provides an alternative syntax to the traditional Groovy DSL with an enhanced editing experience in supported IDEs, with superior content assist, refactoring, documentation, and more.
- Kotlin
- Ktlint
- Kotlin Coroutines - for managing background threads with simplified code and reducing needs for callbacks
- Google's Android Library
- AndroidX Browser
- Google Material Design - Material Design library for Android
- Android Jetpack - Jetpack is a suite of libraries, tools, and guidance to help developers write high-quality apps more easily.
- AppCompat - Degrade gracefully on older versions of Android.
- Android KTX - Write more concise, idiomatic Kotlin code.
- Data Binding - Declaratively bind observable data to UI elements.
- Lifecycles - Create a UI that automatically responds to lifecycle events.
- LiveData - Build data objects that notify views when the underlying database changes.
- Navigation - Handle everything needed for in-app navigation.
- Room - Access your app's SQLite database with in-app objects and compile-time checks.
- ViewModel - Store UI-related data that isn't destroyed on app rotations. Easily schedule asynchronous tasks for optimal execution.
- WorkManager - Manage your Android background jobs.
- Animations & Transitions - Move widgets and transition between screens.
- Fragment
- Layout - Lay out widgets using different algorithms.
- ViewPager2 - an improved version of the ViewPager.
- Dagger Hilt - Hilt is a dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project.
- Java 8+ API - Java 8+ API desugaring support
- Third party
- Firebase
- Machine Learning (pending)
If you've found an error, please file an issue: https://github.com/tsnanh/MyVKU/issues
Patches are encouraged, and may be submitted by forking this project and submitting a pull request through GitHub.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.