GreenStash is a simple FOSS android app to help you plan and manage your savings goals easily and establish the habit of saving money.
- Clean & beautiful UI based on Google's material design three guidelines.
- Add images to your saving goals to keep you motivated!
- View how much you need to save daily/weekly/monthly to achieve your goal before deadline.
- View detailed transaction (withdraw/deposit) history.
- Get daily, semi-weekly or weekly reminders for your saving goals based on goal priority.
- Supports around 100+ local currency symbols.
- Inbuilt biometric app lock to keep your financial data safe and secure.
- Fully offline, greenstash doens't require internet permission to work.
- Compatible with Android 7.0 and above (API 24+)
- Supports Material You theming in devices running on Android 12+
- MAD: UI and logic written with pure Kotlin. Single activity, no fragments, only composable destinations.
GreenStash doesn't contain any ads and doesn't sell your data. The development of the app is financed by individual user contributions, such as you purchasing the app via Google Play or becoming a sponsor on Github ❤️
Become a Sponser on Github | Purchase it on Google Play
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change, or feel free to tackle any of the open issues present at the moment. If you're doing the latter, please leave a comment on the issue you want to contribute towards before starting to work on it.
If you want to make the app available in your language, you're welcome to create a pull request with your translation file. The base string resources can be found under:
/app/src/main/res/values/strings.xml
It is easiest to make a translation using the Android Studio XML editor, but you can always use your favorite XML text editor instead. Check out this guide to learn more about translation strings from Helpshift for Android.
- Kotlin - First class and official programming language for Android development.
- Coroutines - To improve performance by doing I/O tasks out of main thread asynchronously.
- Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
- Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
- Jetpack Compose - Jetpack Compose is Android’s recommended modern toolkit for building native UI
- LiveData - Data objects that notify views when the underlying database changes.
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- Lottie - Lottie is an Android, iOS and React Native library that renders After Effects animations in real time.
- Coil - An image loading library for Android backed by Kotlin Coroutines.
- Dagger-Hilt For Dependency injection (DI)
- Room database - Persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.
MIT License
Copyright (c) [2022 - Present] Stɑrry Shivɑm
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.