Simple FOSS android app to help you plan and manage your savings goals easily and establish the habit of saving money.

Overview

GreenStash

GreenStash is a simple FOSS android app to help you plan and manage your savings goals easily and establish the habit of saving money.

🤙 Screenshots

logo

Features

  • 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.
  • 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+)
  • Comes in both light and dark mode.

🛠️ Built with

  • Kotlin - First class and official programming language for Android development.
  • Coroutines - To improve performance and overall user experience.
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • LiveData - Data objects that notify views when the underlying database changes.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
    • Navigation - Navigation component helps you implement navigation, from simple button clicks to more complex patterns, such as app bars and the navigation drawer.
  • Room database - Persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.
  • CuteToast - Material Design Custom Toast for Android.
  • ImagePicker - Image Picker for Android, Pick an image from Gallery or Capture a new image with Camera.

🤝 Thanks

  • Irfansusanto20 for this awesome app icon.
  • Sarvesh for testing and finding bunch of bugs.
  • Radcolor for helping me in solving few problems and understanding some concepts.
  • Pin-069 for screenshot template design.
  • Icons8 for vector icons used in about section.

©️ License

MIT License

Copyright (c) 2022 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.

Have any suggestions? found a bug? Feel free to create an issue with detailed description.

Made with by Shivam

Comments
  • [Feature request] Add the app to the F-Droid repo

    [Feature request] Add the app to the F-Droid repo

    Because I, and a lot of people, use F-Droid, it would be very nice to have the app directly in the F-Droid repo. I'm sure that the app will be more popular :)

    Is there a technical limitation to that?

    good first issue 
    opened by Sitavi 8
  • [Feature Request] Adding a menu to select lenguage

    [Feature Request] Adding a menu to select lenguage

    So far I've been translating the strings.xml file. And I was wondering, would it be possible to add a function for the app to use a different strings.xml file depending on the language selected?

    That way we would be able to add community translations and have multiple languages on the app.

    So far replacing the file works, but that would still keep the app on a single language.

    enhancement 
    opened by SnakeOverflow 7
  • Improvements in the Spanish translation

    Improvements in the Spanish translation

    Hi!

    I have improved the syntactic, grammatical and spelling structure of all text strings. There are still some that have room for improvement, but for now it is better than what was posted before, as it is now readable and usable.

    If there is any problem with the pull request or you want to ask me something about commits, don't hesitate to contact me <3

    Greetings, @IngrownMink4

    opened by IngrownMink4 6
  • Illegal Amount Value Crashes GreenStash

    Illegal Amount Value Crashes GreenStash

    First of all, from my testing (I still haven't truly used the app, I just looked for any bugs I could report to you) I could see that you already did quite a bit to prevent this from happening (I wasn't able to put multiple dots, even via pasting, nor was I able to paste letters, random symbols or Emojis, and putting just zero tells me that the amount is empty).

    However when just a single dot is in the amount value, the app crashes when trying to create the goal.

    I think that it would be easier to workaround this by bringing up the same toast as when a lone zero is input.

    bug 
    opened by moriel5 6
  • Crash after adding a goal

    Crash after adding a goal

    Hi when I want to add a new goal the app crashes. From now on the app crashes everytime I restart it.

    I use GreenStash v1.1 from F-Droid repository on my Samsung Galaxy A6 Plus with Android 10.

    bug 
    opened by Silverhawk85 5
  • Spanish short description too long

    Spanish short description too long

    Fastlane's short_description.txt is limited to 80 chars. Yours for es-MX exceeds that and thus is truncated mid-word. Could you please fix that before tagging the next release? I don't speak Spanish (and have no idea what variant MX is here), but "simple Spanish" according to the Deepl translator suggest something like

    le ayuda a planificar y gestionar fácilmente sus objetivos de ahorro

    which would fit the length limit. Thanks in advance!

    opened by IzzySoft 2
  • [Feature Request] Be able to not add a deadline date

    [Feature Request] Be able to not add a deadline date

    Basically that, when adding price and name details, if I press "save goal" the goal is saved without a date limit

    Thanks for this amazing app.

    enhancement feature 
    opened by Terkyz 2
  • [Bug] Biometrics Can be bypassed by tapping outside of the area

    [Bug] Biometrics Can be bypassed by tapping outside of the area

    When setting up biometrics it will prompt you upon opening and will work like normal, but after testing a bit I've found out that simply tapping outside the area will let you bypass the login entirely. Ive added a clip of the process

    https://user-images.githubusercontent.com/109717184/180974129-a20cd503-bd04-4277-a51e-fe46d43bf90b.mp4

    Maybe this can be fix by having the app wait on the splash screen, or having the app wait in a separate screen with the logo and a button to re-prompt for biometrics, until the apps detects a successful auth?

    bug 
    opened by SnakeOverflow 1
  • [(Yet another) Feature Request] Notes or details of the product or purchase location within the goal

    [(Yet another) Feature Request] Notes or details of the product or purchase location within the goal

    Nothing very abusive, since this is an app for goals, not for notes. My main idea is that within the goal or when creating a new one there are some spaces for notes or details to add purchase location, name of the store, product webpage, specifications, or a small space for notes

    I can also think of a view of [Folders] to have ordered different products or different stores where to buy something, but that's another topic

    feature 
    opened by Terkyz 1
  • [Feature Request] Proper Material You Theming?

    [Feature Request] Proper Material You Theming?

    Hmm Since de app follows material 3 guidelines How about adding proper material you support? It'd look nice 👀

    Also ty for making such an useful app ❤️

    feature 
    opened by nekomekoraiyuu 1
Releases(v1.8)
  • v1.8(Oct 11, 2022)

    What's Changed

    • Added an option to add transactional notes in deposit/withdraw transactions.
    • Improved UI of deposit and withdraw dialogs.
    • Fixed a bug where user can't edit additional notes of saved goal if it had custom image set.
    • Improved additional notes field, of new/edit goal screen, now it'll automatically resize as you type.
    • Improved animations and some other minor stuffs.
    • Full Changelog https://github.com/Pool-Of-Tears/GreenStash/compare/v1.7...v1.8
    Source code(tar.gz)
    Source code(zip)
    greenstash-v1.8.apk(2.76 MB)
  • v1.7(Sep 22, 2022)

    New Features

    • Added an option to sort saving goals based on different conditions inside settings menu.
    • Bunch of UI improvements, redesigned dialogs for filter goals menu, backup & restore menu, and currency setup dialog shown at first launch.
    • Made deadline optional parameter, also added new additional notes field which can be used to store some extra information related to saving goals.

    Improvements & Fixes

    • Improvements in Spanish translations, thanks to Sergio Varela.
    • Fixed edit goal page popping in backstack after editing existing saving goal.
    • Bunch of performance optimizations here and there.
    • Refactored project structure and organised files accordingly.
    • Full Changelog https://github.com/Pool-Of-Tears/GreenStash/compare/v1.6...v1.7

    Important Notice

    I've lost old signing keys as I'm dumb and i forgot to back them up before formatting my PC, so you will have to uninstall the older version to install this one, you can take backup of your data by clicking on 3 dots at top right corner and selecting "Backup & Restore" option and restore your data backup after installing the new version with exact same process.

    Thanks and sorry for inconvenience (This time I've backed them up at 3 places so i won't loose it again..)

    Source code(tar.gz)
    Source code(zip)
    greenstash-v1.7.apk(2.76 MB)
  • v1.6(Jul 26, 2022)

    What's Changed

    • Fixed a security related bug where one could bypass the biometric lock by tapping outside the area. (#11)
    • Spanish translations by @SnakeOverflow in https://github.com/Pool-Of-Tears/GreenStash/pull/9
    • Some minor UI/UX Improvements.

    Full Changelog: https://github.com/Pool-Of-Tears/GreenStash/compare/v1.5...v1.6

    Source code(tar.gz)
    Source code(zip)
    greenstash-v1.6.apk(2.84 MB)
  • v1.5(Jul 15, 2022)

    Changelogs

    • Added full support for Material You theming for devices running on Android 12+
    • Fixed double splash screen in android 12 and improved splash screen for lower APIs.
    • Refactored App icon and improved logos in about section.
    • Added round ripple animation when clicking on card buttons.
    • change switch style in settings to follow material design 3
    • Some other minor improvements here and there.
    Source code(tar.gz)
    Source code(zip)
    greenstash-v1.5.apk(2.83 MB)
  • v1.4(Jul 3, 2022)

  • v1.3(Jul 1, 2022)

    Changelogs

    • Added ability to backup and restore app data to and from local storage.
    • Changed icons of filter and search menu.
    • Few UI related improvements.
    • Fixed crashes in few samsung devices.
    • Fixed an edge case where app used to crash if user inputs only "." in amount
    • Fixed currency symbol of Norwegian krone.
    Source code(tar.gz)
    Source code(zip)
    greenstatsh-v1.3.apk(2.84 MB)
  • v1.2(Jun 28, 2022)

  • v1.1(Jun 26, 2022)

    First stable release. Includes lots of fixes and improvements after pre-release version.

    Changelogs

    New features

    • Added search button on toolbar to search for specific saving goal.
    • Added filter button on toolbar to filter between All/Completed/Ongoing goals.
    • Added brand new goal info section in which you can view detailed information about some specific goal including all transactions (withdraw/deposit) history.
    • App will now show dialog to setup your preferred currency when opening app for first time.

    Improvements & fixes

    • Lots of UI related improvements and fixes.
    • Fixed app becoming unresponsive for sometime when setting large images, it'll now show progress dialog instead.
    • Improved layout of input screen and added material design icons in input fields.
    • Improved formatting of currency amount ($1000000 -> $100,000.00)
    • Added support for decimal values in currency, i.e app now supports cents aswell instead of whole dollar values.
    • Some cleanups and code quality improvements.
    • Note that this build also includes this commit which was pushed after the release.

    PS : I'll try to publish app on fdroid soon, so stay tuned for that!

    Source code(tar.gz)
    Source code(zip)
    greenstash-v1.1.apk(2.76 MB)
  • v1.0(Jun 17, 2022)

Owner
Pool-Of-Tears
collection of my personal projects.
Pool-Of-Tears
Habit Tracker With Kotlin

Habit Tracker Built with Kotlin Android Get Started To get a local copy up and running follow these simple steps. git clone <URL> in your terminal In

Yannick-Noel AKA 4 Dec 26, 2021
D4rK QR & Bar Code Scanner Plus is a FOSS scanner app for every Android. 📷

?? QR & Bar Code Scanner Plus ?? ╔╦╦╦═╦╗╔═╦═╦══╦═╗ ║║║║╩╣╚╣═╣║║║║║╩╣ ╚══╩═╩═╩═╩═╩╩╩╩═╝ D4rK QR & Bar Code Scanner Plus is a FOSS scanner app for every

D4rK 8 Dec 19, 2022
A very simple Android app which shows you random memes with the help of meme-api which you can share with your friends!

Meme Share A very simple Android app which shows you random memes with the help of meme-api which you can share with your friends! Tech stack 100% wri

Stɑrry Shivɑm 8 Aug 10, 2022
100% FOSS keyboard, based on AOSP.

OpenBoard 100% FOSS keyboard, based on AOSP. Community [matrix] channel Join here Common issues Cannot open settings in MIUI: See issue #46. Contribut

null 1.9k Jan 8, 2023
Send Whatsapp Message Without Saving Mobile Number

Send Whatsapp Message Without Saving Mobile Number In this project i created the

THANGADURAI SELVARAJ 2 Apr 22, 2022
DSU-Sideloader - A simple app made to help users easily install GSIs via DSU's Android feature

DSU Sideloader A simple app made to help users easily install GSIs via DSU's And

null 430 Jan 4, 2023
Web Container: A simple web container library for Android to help fellow developer to open WebView easily

WebContainer Description Web Container is a simple web container library for And

Achmad Ichsan Thaib 8 Nov 22, 2022
To help to promote your android app by prompting users to rate your app in a bottom Sheet.

RateBottomSheet This an Android library to help to promote your Android App by prompting users to rate your app in the Google Play Store with a materi

Farham Hosseini 5 Jul 8, 2022
Therapeutic is a platform to help easily connect patients or generally anyone struggling to get through tough times with motivating content and professional therapists.

Therapeutic Apk - https://github.com/develNerd/Therapeutic/blob/main/androidApp/release/androidApp-release6.apk Therapeutic is a Kotlin Mobile Multipl

Isaac Akakpo 1 Nov 23, 2022
A funny project to help you test your BNF syntax

Readme The idea of this project is to implement a BNF expression compiler. We could use BNF to design some syntax like Arithmetic expression. <factor>

Jack Chen 4 Dec 21, 2022
Free and open source Android app to manage qBittorrent remotely.

qBitController qBitController is a free and open source app for managing qBittorrent remotely. Please note that qBitController is in alpha version. Us

Bartu Özen 12 Dec 25, 2022
Simple view which allow you to customise your pizza's toppings and size as per your choice.

TwistedPizzaToppingsView Overview Simple view which allows options to customize your pizza toppings and size as per your choice. Features Android 12 s

MindInventory 19 Dec 18, 2022
BindsAdapter is an Android library to help you create and maintain Adapter class easier via ksp( Kotlin Symbol Processing).

BindsAdapter BindsAdapter is an Android library to help you create and maintain Adapter class easier via ksp( Kotlin Symbol Processing). Installation

Jintin 5 Jul 30, 2022
A sample Music Player project that help you learn about Compose in Android

Music App Compose UI A sample Music Player project that help you learn about Compose in Android. Note that this app only contain UI and has no logic.

Hamidreza Sahraei 25 Dec 13, 2022
This is a template to help you get started building amazing Kotlin applications and libraries.

Welcome to the Starter This is a template to help you get started building amazing Kotlin applications and libraries. Over time, examples will be comp

Backbone 8 Nov 4, 2022
A toy port scanner to help me (and you!) learn Kotlin + Akka.

kotlin-akka-portscan A toy program to help me (and you!) learn Kotlin + Akka. butwhy.gif When I want to learn a new language, I've found it helpful to

Jeremi M Gosney 4 Jul 23, 2022
Gradle plugin to manage tests which should only run nightly and not every time a CI/CD pipeline builds.

NightlyTestsPlugin Gradle Plugin to configure which (j)Unit tests should only be run nightly and not everytime a CI/CD pipeline is triggered. Usage To

VISUS Health IT GmbH 0 Dec 7, 2021
An application to enable a user to manage a product listing

iProcureAndroidTest This is an application to enable a user to manage a product listing (in an e-commerce environment). ?? . Written in Kotlin and imp

Kakashi 6 Mar 7, 2022