- Model (for database, API and preferences)
- View (for UI logic, with DataBinding)
- ViewModel (for business logic)
- Workers (for background processing)
- Broadcast Service (for triggering specific services depending on user events)
This application is developed using Kotlin. It uses a Laravel/Lumen backend for user information, which is accessed via REST APIs'. Firebase Authentication is used in this project for implementing some of the Firebase features, such as Realtime Database and Cloud Messaging.
- Dependency injection (with Hilt)
- Google Material Design library
- Android architecture components to share ViewModels during configuration changes
- Jetpack Navigation for single activity design
- Kotlin Coroutines
- Retrofit
- Desugaring for Java 8 API support
- Fully based on firebase and google cloud services
- Offline capabilities with persistent database
- No registration required
- Personal ledger with real time data update
- Real time market price using location
- Feature for buying/selling directly from application
- Real time weather report using OpenWeather API
- Intelligent calculation of gross profit/loss
- Add real time chat feature
- Add pagination from firebase realtime database
- Add databinding
- Update project structure to use single activity
- Upgrade dependencies
- Update project structure
- Code cleanup
- Update splash animation
- Add multi-language support
- Bangla
- English
- Eliminate uses of string literal
- Add feature for push notification
- Improve p2p connection time
- Upgrade Speech to Text library