Kuberam
Kuberam is an app to manage your transactions.
Application Install
You can Install Kuberam app from Play Store
π
Insights into the app Dark Theme
Light Theme
Setup
Clone the repository on your machine. Open the project on your IDE and connect it to firebase and Auth0 and everything will be setup
- Instal Android Studio Arctic fox
- Add your firebase json class in app directory
- Change Client id, domain name and scheme in string resources file.
About
It uses firebase and Auth0 as it's backend. It uses Auth0 Authentication for auth, Firebase Crashlytics for crash reporting and Firestore as its database.
- Fully functionable.
- Clean and Simple Material UI.
Features:
-
Auth0 Login :- Auth0 is used for login/signup in app.
-
Biometric Lock :- For protecting your transaction in app we provide Fingerprint login/Pattern lock.
-
Light & Dark :- Light and Dark theme is provided in app so both light theme lover and dark theme lover happy.
-
Add Transaction :- Using simple step you can add your transaction.
pcm
-
Create Category :- As we know everyone's transaction category so in Kuberam app you can create category as your need.
-
Pie Chart :- Based on your income and expense transaction we show Pie Chart of Income Transaction and Expense Transaction so your can manage them.
-
Firestore Database :- Kuberam used Firestore database for saving your all transaction online so you don't worry about backup.
-
Change Currency :- As we know we are comes from different places and we use different currency for transactions, in Kuberam we provide different type currencies.
-
Delete Transaction :- If you add transaction by mistakes or you don't want to track that transactions so we provide delete features also. For deleting transaction you need to swipe transaction from Left to End.
-
** In App Review** :- In App Review Library.
-
In App Update :- In this busy world we always forget about updating app when app have an updates, In Kuberam we use In App Update library so when app have any update it show an popup for update and you can update directly from that without opening playstore.
-
Reminder Notification :- We send an notification everyday for reminding to add transaction in app so you don't skip any day to add transactions.
πΈ
Screenshots
π
Built With -
Auth0 - Auth0 is an easy to implement, adaptable authentication and authorization platform.
-
Jetpack Compose - Jetpack Compose is Androidβs modern toolkit for building native UI.
-
Kotlin - First class and official programming language for Android development.
-
Coroutines - For asynchronous and more..
-
Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
-
MutableState - MutableState is an alternative to using LiveData or Flow . Compose does not observe any changes to this object by default and therefore no recomposition will happen.
-
Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
-
-
Hilt-Dagger - Standard library to incorporate Dagger dependency injection into an Android application.
-
Hilt-ViewModel - DI for injecting
ViewModel
.
-
-
- Firebase Firestore - To save data in firebase firestore database
- Firebase Crashlytics - To report app crashes
- Firebase Analytics - To report app crashes
- Firebase Messaging - To send Notifications in app.
-
Material Components for Android - Modular and customizable Material Design UI components for Android.
-
Compose Chart - Showing Pie Chart in Jetpack Compose.
-Coil - An image loading library for Android backed by Kotlin Coroutines.
-
Bio-metric Authentication - Authentication using a screen lock credential β the user's PIN, pattern, or password.
-
Accompanist Pager - A library which provides paging layouts for Jetpack Compose.
-
Accompanist Navigation - A library which provides Compose Animation support for Jetpack Navigation Compose.
-
Lottie - Lottie is a mobile library for Android and iOS that parses Adobe After Effects animations exported as json with Bodymovin and renders them natively on mobile!
Package Structure
com.kuberam.android # Root Package
.
βββ Components # For data handling.
|
βββ data
| βββ local # Datastore and its related classes
| βββ model # Firebase, HarperDB and their relative classes
β βββ remote # Model data classes, both remote and local entities
|
βββ di # Dependency Injection
β βββ module # DI Modules
|
βββ navigation
|
βββ service
|
βββ ui
| βββ theme # Manage Themes: Color, Shape, Theme and Type.
β βββ view # All Views: About Screen, All Transaction Screen, Auth Screen, Dashboard Screen, OnBoard Screen, Profile Screen, Splash Screen.
β βββ viewmodel # Viewmodel of app
|
|
βββ utils # Utility Classes: Constant, Interfaces etc.
Architecture
This app uses MVVM (Model View View-Model) architecture.
π€
Contribute If you want to contribute to this library, you're always welcome!
π©
Contact Have an project? DM us at Connect with me at LinkedIn
π°
Donation If this project help you reduce time to develop, you can give me a cup of coffee :)