An application that i developed with a aim of learning Jetpack compose and many other jetpack libraries, The application make use of jikan Api which displays a list of animations,there more details and even trailers of the animations.
The app is built with the Model-View-ViewModel (MVVM) as its structural design pattern that separates objects into three distinct groups:
- Models hold application data. They’re usually structs or simple classes.
- Views display visual elements and controls on the screen. They’re typically subclasses of UIView.
- View models transform model information into values that can be displayed on a view. They’re usually classes, so they can be passed around as references.
- Kotlin - Kotlin is a programming language that can run on JVM. Google has announced Kotlin as one of its officially supported programming languages in Android Studio; and the Android community is migrating at a pace from Java to Kotlin
- Android KTX - Provide concise, idiomatic Kotlin to Jetpack and Android platform APIs.
- AndroidX - Major improvement to the original Android Support Library, which is no longer maintained.
- Lifecycle - Perform actions in response to a change in the lifecycle status of another component, such as activities and fragments.
- Viewmodel -The ViewModel class is designed to store and manage UI-related data in a lifecycle conscious way
- LiveData - A lifecycle-aware data holder with the observer pattern
- Room Database- The Room persistence library provides an abstraction layer over SQLite to allow fluent database access while harnessing the full power of SQLite.
- Kotlin Coroutines - A concurrency design pattern that you can use on Android to simplify code that executes asynchronously.
- Hilt - A dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project
- Navigation Components - Helps you implement navigation, from simple button clicks to more complex patterns, such as app bars and the navigation drawer.
- Material Libarary - Modular and customizable Material Design UI components for Android
- Retrofit- Retrofit is a REST client for Java/ Kotlin and Android by Square inc under Apache 2.0 license. Its a simple network library that is used for network transactions. By using this library we can seamlessly capture JSON response from web service/web API.
- Kotlin Flows-a flow is a type that can emit multiple values sequentially, as opposed to suspend functions that return only a single value.
- RaamCosta Navigation- A KSP library that processes annotations and generates code that uses Official Jetpack Compose Navigation under the hood. It hides the complex, non-type-safe and boilerplate code you would have to write otherwise.
- Coil- An image loading library.
- Timber- A logger with a small, extensible API which provides utility on top of Android's normal Log class.
- GitHub Actions-GitHub Actions makes it easy to automate all your software workflows, now with world-class CI/CD. Build, test, and deploy your code right from GitHub. Make code reviews, branch management, and issue triaging work the way you want.
- Android device or emulator
- Android Studio
In order to get the app running yourself, you need to:
- Clone this project
- Import the project into Android Studio
- Connect your android device with USB or just start your emulator
- After the project has finished setting up it stuffs, click the run button
- Found this project useful ❤️? Support by clicking the ⭐️ button on the upper right of this page. ✌️
- Notice anything else missing? File an issue
- Feel free to contribute in any way to the project from typos in docs to code review are all welcome.