Serenity app is a to demonstrate tech stacks with a MVVM architecture.This e-commerce application facilitates the browsing, favoriting, and purchasing of products, offering a streamlined and user-friendly shopping experience.
| Splash | Sign In | Sign Up | Home | Detail |
| Search | Favorite | Cart | Payment | Success |
- Minimum SDK level 21
- 100% Kotlin based + Coroutines and Flow
- MVVM Architecture - Modern, maintainable, and Google suggested app architecture
- Material Design 3 is the latest version of Google’s open-source design system.
- Navigation Component - Single activity multiple fragments approach
- JetPack
- LiveData - Notify domain layer data to views.
- Lifecycle - Dispose of observing data when lifecycle state changes.
- Fragment-ktx - A set of Kotlin extensions that helps with fragment lifecycle.
- View Binding - Allows you to more easily write code that interacts with views
- ViewModel - UI related data holder, lifecycle aware.
- Architecture
- MVVM Architecture (View - DataBinding - ViewModel - Model)
- Repository pattern
- Clean Architecture approach.
- Hilt is a dependency injection library for Android
- Retrofit A type-safe HTTP client for Android and Java
- Gson Google Gson is of libraries for handling JSON objects
- Room Component It is a SQLite-based database solution that leverages Object Relational Mapping (ORM) principles to simplify database operations.
- Navigation Component - Single activity multiple fragments approach
- Glide - An image loading library for Android backed
- Splash Screen
Designed and developed by 2023 Hilalkrnz
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.