Coder Social home page Coder Social logo

pool-of-tears / greenstash Goto Github PK

View Code? Open in Web Editor NEW
484.0 8.0 41.0 25.12 MB

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

License: MIT License

Kotlin 100.00%
android kotlin-android kotlin-coroutines material-design material-ui mvvm productivity room-database finance-management dagger-hilt

greenstash's Introduction

GreenStash

GitHub GitHub code size in bytes Project Status: Active – The project has reached a stable, usable state and is being actively developed. build-workflow


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


Highlights

  • 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.

Downloads

Get it on Google Play Get it on F-Droid Get it on IzzyOnDroid Get it on GitHub

Donations

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


Contributions

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.


Translations

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.


Tech Stack

  • 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.
  • Gson - A Java serialization/deserialization library to convert Java Objects into JSON and back.
  • 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.

License

MIT License © Stɑrry Shivɑm

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.

greenstash's People

Contributors

aerowolf avatar ingrownmink4 avatar jevo160296 avatar mrghosti3 avatar nekothegamer avatar peterdavehello avatar snakeoverflow avatar starry-shivam avatar thealphaapp avatar yurtpage avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

greenstash's Issues

Break down larger composables into smaller functions

Some of the composables are very large. For example, the SettingsScreen consists of a single function with around 400 lines of code. It would be beneficial to break them down into smaller functions and keep them private to the file where their parent screen/composable belongs.

Rewrite UI in jetpack compose

We can use hybrid Fragment-Conpose Architecture to achieve it in this case, rewriting whole UI in jetpack compose also gonna improve implementation of various stuffs and we can avoid lots of unnecessary hacks and custom view subclasses for some UI components like in goal info screen for example.

This will take good amount of time and probably lots of testing for app to become as stable as current XML based one.

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.

[Feature Request] Copy text in goal notes with long press

Checklist

  • This issue contains only one feature request. I will open one issue for every feature I want to request.
  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • This feature is merely an UI/UX update.
  • This feature is not going to conflict with many of the existing features/options.

Is your feature request related to a problem? Please describe.

I would like to keep URL or other types of information in one place where I also track progress on the goal. Currently the text that gets saved can be accessed again by editing the goal again. Would like to have an option to quickly copy the text from the notes field.

Describe the solution you'd like

Copying to clipboard after long pressing the text on notes (after expanding) or having a separate button that copies the note.

How will you/everyone benefit from this feature?

Less steps in copying the text (URL or search keywords) into clipboard.

Additional context

No response

[Feature Request]: Accessibility enhancement

Checklist

  • This issue contains only one feature request. I will open one issue for every feature I want to request.
  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • This feature is merely an UI/UX update.
  • This feature is not going to conflict with many of the existing features/options.

Is your feature request related to a problem? Please describe.

When talkback is enabled we expect talkback to say edit goal, information and delete goal, but since there isn't any content description strings it just says button.

Describe the solution you'd like

Add content description strings for these buttons so talkback works properly.

How will you/everyone benefit from this feature?

Will improve accessibility and may allow physically limited people to use app more easily.

Additional context

#36

[Feature Request] Simple finance tracking

Checklist

  • This issue contains only one feature request. I will open one issue for every feature I want to request.
  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • This feature is merely an UI/UX update.
  • This feature is not going to conflict with many of the existing features/options.

Is your feature request related to a problem? Please describe.

I don't really have particular goals to save up money for, but there's not much options with fleshed out UI/UX like this app.

Describe the solution you'd like

The ability to store simple transactions of payments that happened (or may happen later). The stored data:

  1. recipient;
  2. amount;
  3. date: optional for if it's a payment that is upcoming, otherwise defaults to current date;
  4. category: a tag/label that can be user created;
  5. note: can be empty.

This could be a separate page in the menu.

How will you/everyone benefit from this feature?

This would allow:

  • tracking finances, when you don't have any particular goals;
  • filter transactions: by dates, by recipient or by category, one can check where you spend money;
  • allow to see upcoming payments;
  • have statistics of past transactions.

Additional context

Do you accept Pull Requests so that maybe I could help/work on this feature in the app?

[Feature Request] Remove fractions from some currencies

Checklist

  • This issue contains only one feature request. I will open one issue for every feature I want to request.
  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • This feature is merely an UI/UX update.
  • This feature is not going to conflict with many of the existing features/options.

Is your feature request related to a problem? Please describe.

Hello, great app first of all!
I'd love to have fractions removed from some currencies like JPY.

As seen in the screenshot below, the extra ,00 is unneeded noise for JPY. It also makes the "Currently saved ¥,00" look awkard.
Screenshot_20240111-112425_GreenStash

Describe the solution you'd like

Remove fractions and show ¥,00 as ¥0

How will you/everyone benefit from this feature?

I think the people using the currencies with 0 decimals as listed in this article would benefit
https://docs.adyen.com/development-resources/currency-codes/

Additional context

No response

[Feature Request] Adjust Amount Instead Of Using Depost/Withdraw

An option to simply adjust the current amount, instead of forcing the user to do through depositing and withdrawing would be nice.

This makes it a little easier to deal with deposits that are technically interest gains. So instead of going and looking at the amount that the bank deposited in interest, you can quickly just look at the total in the account, and then change the amount on GreenStash to that exact amount.

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!

[Feature Request] Remember last filter options

Checklist

  • This issue contains only one feature request. I will open one issue for every feature I want to request.
  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • This feature is merely an UI/UX update.
  • This feature is not going to conflict with many of the existing features/options.

Is your feature request related to a problem? Please describe.

Yes but no, it doesn't affect directly the app, it's just a convenience problem. I wish that when I filter by ascending price that filter remains applied even if I close and reopen the app.

Describe the solution you'd like

I guess the filter can simply remain applied, and this behavior can be deactivated in the app settings if necessary.

How will you/everyone benefit from this feature?

As I said, it's just a convenience feature that I use in other apps. I'm sure that other users will be happy with.

Additional context

Thanks.

AuthorWebSite & Donate on fdroid metadata

hello @starry-shivam again

  • i am in process of fixing my mistakes, kindly please look into the following_
  • without your explicit consent AuthorWebSite https://starry-shivam.github.io from
    https://github.com/starry-shivam and Donatehttps://github.com/Pool-Of-Tears/GreenStash#donations given in repo was updated by me in fdroid metadata
  • fdroid policy and suggestion wrt to adding AuthorEmail, AuthorWebSite, Donate, etc..
  • should i remove it?

Add amoled black theme

Add option to apply amoled (pure black background) theme, by adding a toggle which can be turned on and off like material you setting.

[Feature Request] pick goal images over gallery / file manager

Checklist

  • This issue contains only one feature request. I will open one issue for every feature I want to request.
  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • This feature is merely an UI/UX update.
  • This feature is not going to conflict with many of the existing features/options.

Is your feature request related to a problem? Please describe.

first off, i like the app design, great job <3

so, if i wanna set a goal image, only few are shown, some are missing (somehow those albums that aren't shown are ones with cutsom name).

only shows camera, screenshots & downloads — if i move a image there, it does show up~

Describe the solution you'd like

open and select over an gallery app / file manager?

How will you/everyone benefit from this feature?

the ppl who already benefit from usin' goal images

Additional context

well nvmnd, i'm blind, all images DO SHOW UP in "photos" but when havin' a lot of images it's confusing. so it might be a bug that all albums don't show up in the albums tab?

[Feature Request] Make icons more consistent in style, aligning with Material Design 3 guidelines

Checklist

  • This issue contains only one feature request. I will open one issue for every feature I want to request.
  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • This feature is merely an UI/UX update.
  • This feature is not going to conflict with many of the existing features/options.

Is your feature request related to a problem? Please describe.

N/A

Describe the solution you'd like

Have all icons migrated to the Material Rounded style

How will you/everyone benefit from this feature?

Just to bring more consistency

Additional context

No response

Monochrome icon missing for GreenStash app

The current version of the GreenStash app does not have a monochrome icon, which is causing some accessibility and design issues for users. They also help maintain a consistent design language throughout the app.

Steps to Reproduce:

  1. Install the latest version of the GreenStash app on any device.
  2. View the app icon on the home screen or app drawer.
  3. Notice that the icon is in full color and not monochrome.

Expected Behavior:
The GreenStash app should have a monochrome icon in addition to the full-color icon. The monochrome icon should be easily distinguishable and reflect the design language of the app.

Actual Behavior:
The GreenStash app does not have a monochrome icon, which is causing accessibility and design issues for some users.

Reproducibility:
This issue can be reproduced on any device that has the latest version of the GreenStash app installed.

Suggested Solution:
A monochrome icon should be added to the GreenStash app to improve accessibility and maintain a consistent design language. The icon should be easily distinguishable and reflect the design of the app.

[(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 Request] Replace/change top bar menu

Checklist

  • This issue contains only one feature request. I will open one issue for every feature I want to request.
  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • This feature is merely an UI/UX update.
  • This feature is not going to conflict with many of the existing features/options.

Is your feature request related to a problem? Please describe.

Currently menu is only exposed after clicking the burger button at the top left corner of the screen. This is inconvenient for one-hand use and you either have to include another hand or change how you hold your phone to quick access the menu.

Describe the solution you'd like

Replace top bar with something like bottom bar or the slide-able menu replaced with bottom navigation bar. This issue would need more discussion on which option is better.

Option A (Bottom bar, example 1)

This would completely replace top bar by moving it to the bottom. On the left would be 3 buttons: burger menu, filter, search, and on the right the plus would be for new goals.

The burger menu would could expand a scroll-able menu.

Option B (Navigation bar, example 2)

This doesn't replace the top bar, but would just remove burger menu as a row of buttons with page icons and their names. The rest of top bar would stay the same.

Examples

  1. https://m3.material.io/components/bottom-app-bar/guidelines#a1332bc2-701f-4234-93e9-ccc2470434d6
  2. https://m3.material.io/components/navigation-bar/overview

How will you/everyone benefit from this feature?

Easier navigation to other pages as the menu would quickly accessed by one hand at the bottom. No matter if the user is left or right handed.

Additional context

No response

[Feature Request] Adding automatic x amout of money, and notifications

Checklist

  • This issue contains only one feature request. I will open one issue for every feature I want to request.
  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • This feature is merely an UI/UX update.
  • This feature is not going to conflict with many of the existing features/options.

Is your feature request related to a problem? Please describe.

I always have to add manually money that i want to be added each day automaticly, and i have no notification to remember to do it by the app. so i have to use other aplications for that

Describe the solution you'd like

It would be awesome to add the posibility of making an auto add money or just a notification to remember you to add money once on x time to your goal. for example, i use the app to track my dialy use of money, adding the amout of money that i can use each day, it would be awesome if it hasppens automatic. auto save money, but only if you open the notification and put "yes i saved the money" or something like that. of course, as something opcional, not by default

How will you/everyone benefit from this feature?

For people that easly forget things like me, it really practic.

Additional context

thanks for this awesome app! <3

[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?

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] 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

BiometricBypass.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?

[Feature Request] Simplify No. to Read

Checklist

  • This issue contains only one feature request. I will open one issue for every feature I want to request.
  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • This feature is merely an UI/UX update.
  • This feature is not going to conflict with many of the existing features/options.

Is your feature request related to a problem? Please describe.

It's so confusing that how much zeros are added in amount section

Describe the solution you'd like

If you'd try to add automatically commas between the numbers it will become much more easier to understand the number

How will you/everyone benefit from this feature?

It will be easier to read number instead of counting how much numbers are there

Additional context

No response

[Bug]: Stop showing the msg Authentication Succeeded

Steps to reproduce

Turn on biometric

Expected behaviour

It should normally turn on without any msg

Actual behaviour

It should normally turn on without any msg

Device name

No response

Android version

13

GreenStash version

2.9.0

Device logs

No response

Additional information

No response

[Bug]: Missing accessibility lable

Steps to reproduce

IMG_20230517_202207

The following buttons marked in red donot have lable so please consider adding lable. Thank You for considering it😊😊.

Expected behaviour

When talkback is enabled we expect talkback to say edit goal, information and delete goal.

Actual behaviour

When talkback is on it only says button.

Device name

Redmi note 9

Android version

Android 10

GreenStash version

2.5.0

Device logs

No response

Additional information

No response

[Feature Request] Import data from other apps / import CSV

Checklist

  • This issue contains only one feature request. I will open one issue for every feature I want to request.
  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • This feature is merely an UI/UX update.
  • This feature is not going to conflict with many of the existing features/options.

Is your feature request related to a problem? Please describe.

I'm currently using Paisa to manage my expenses. However, I wanted to give this app a try, since it looks pretty awesome at first sight! :)

However, since I'm using Paisa for quite some time now, it'd take an enormous effort to manually enter everything into GreenStash.

Describe the solution you'd like

Paisa offers two ways to export data: CSV and JSON.

I guess there are also a lot of people that will manage their expenses without any app and instead by hand in a CSV file. Therefore I propose to add support to import data from other apps (such as Paisa) plus a general CSV importer.

How will you/everyone benefit from this feature?

It will be easier for new users to migrate their stuff to GreenStash! :D

Additional context

I can provide you a sample exported Paisa file

[Feature Request] Importance levels

Checklist

  • This issue contains only one feature request. I will open one issue for every feature I want to request.
  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • This feature is merely an UI/UX update.
  • This feature is not going to conflict with many of the existing features/options.

Is your feature request related to a problem? Please describe.

No. But it is useful if I want to have a clearer idea of what I really need to buy or can postpone.

Describe the solution you'd like

When editing/creating a goal to have an "Importance" button that lets me define a level of importance, such as; "Low", "Medium" and "High" and that (although on second thought, this may generate a conflict in the interface, perhaps it is also necessary to implement a system of sorts) organize the goals from most important to least important, or of course, leaving it blank that is less than less "Low".

How will you/everyone benefit from this feature?

To be able to have a clearer goal of what is important and what is not.

Additional context

No response

[Feature Request] Tags or categories

Checklist

  • This issue contains only one feature request. I will open one issue for every feature I want to request.
  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • This feature is merely an UI/UX update.
  • This feature is not going to conflict with many of the existing features/options.

Is your feature request related to a problem? Please describe.

No. But the ability to distribute goals in categories or tags for better organization would be quite useful.

Describe the solution you'd like

A box to write when editing/creating a goal to add a tag or a category.

How will you/everyone benefit from this feature?

Better organization and more fluidity when searching for or organizing goals. For example, instead of having all my goals mixed up, it would be very useful to add a tag/category, for example a "Pets" category, so I can organize what I want to buy for my pets, and as a tag I could add the name of the pet I want to buy something for.

Additional context

No response

[Feature Request]

Checklist

  • This issue contains only one feature request. I will open one issue for every feature I want to request.
  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • This feature is merely an UI/UX update.
  • This feature is not going to conflict with many of the existing features/options.

Is your feature request related to a problem? Please describe.

Have to add multiple widgets to my homescreen as i have a lot of goals

Describe the solution you'd like

Stacking or scrolling widget stack would be a great way to implement multiple widgets at once...

How will you/everyone benefit from this feature?

It will ease the hassle of creating multiple iteration of the same widget for different goals into a singular well-defined structure.

Additional context

Hey currently the widget implementation is limited and i think there is room for improvements. When choosing the goal to be displayed on the widget llet the user be able to add multiple goals. The user will be able to scroll through all his goals from a single widget instead of relying on many single goal widgets

[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.

Unable to back up app data

Getting this error message when I click Backup App Data:
https://snipboard.io/Tj710L.jpg

Following are the error details I've copied:

Build version: 2.7.0 
Current date: 2023-08-25 19:15:05 
Device: LGE A001LG 
OS version: Android 11 (SDK 30) 
 
Stack trace:  
com.google.crypto.tink.shaded.protobuf.z: Protocol message contained an invalid tag (zero).
	at com.google.crypto.tink.shaded.protobuf.e.F(SourceFile:157)
	at com.google.crypto.tink.shaded.protobuf.s0.C(SourceFile:756)
	at com.google.crypto.tink.shaded.protobuf.s0.h(Unknown Source:4)
	at com.google.crypto.tink.shaded.protobuf.e.o(Unknown Source:28)
	at com.google.crypto.tink.shaded.protobuf.e.p(Unknown Source:0)
	at com.google.crypto.tink.shaded.protobuf.s0.C(SourceFile:554)
	at com.google.crypto.tink.shaded.protobuf.s0.h(Unknown Source:4)
	at com.google.crypto.tink.shaded.protobuf.w.r(SourceFile:34)
	at z7.c0.C(Unknown Source:2)
	at u7.a$a.a(SourceFile:56)
	at y9.h.E(SourceFile:376)
	at y9.h.C(SourceFile:12)
	at b9.d.F(SourceFile:10)
	at s.w$b.g0(SourceFile:17)
	at t.e1$a.l(SourceFile:134)
	at ha.a.q(Unknown Source:8)
	at h1.c.D0(Unknown Source:77)
	at wa.j.r(SourceFile:129)
	at wa.j.E(SourceFile:44)
	at wa.j.q(SourceFile:17)
	at j1.e0.O(SourceFile:51)
	at j1.e0.G(Unknown Source:8)
	at o1.c.p(Unknown Source:13)
	at j1.j.e(SourceFile:85)
	at j1.j.e(SourceFile:71)
	at j1.j.e(SourceFile:71)
	at j1.j.e(SourceFile:71)
	at j1.j.e(SourceFile:71)
	at j1.j.e(SourceFile:71)
	at j1.j.e(SourceFile:71)
	at j1.k.e(SourceFile:26)
	at j1.v.a(SourceFile:183)
	at androidx.compose.ui.platform.AndroidComposeView.L(SourceFile:78)
	at androidx.compose.ui.platform.AndroidComposeView.B(SourceFile:249)
	at androidx.compose.ui.platform.AndroidComposeView.dispatchTouchEvent(SourceFile:88)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3203)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2875)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3203)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2875)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3203)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2875)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3203)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2875)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3203)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2875)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3203)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2875)
	at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:529)
	at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1880)
	at android.app.Activity.dispatchTouchEvent(Activity.java:4144)
	at h.h.dispatchTouchEvent(Unknown Source:2)
	at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:487)
	at android.view.View.dispatchPointerEvent(View.java:14582)
	at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6277)
	at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6080)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5514)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5571)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5537)
	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5545)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5518)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5571)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5537)
	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5706)
	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5545)
	at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5763)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5518)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5571)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5537)
	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5545)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5518)
	at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8426)
	at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8375)
	at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:8335)
	at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:8577)
	at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:221)
	at android.os.MessageQueue.nativePollOnce(Native Method)
	at android.os.MessageQueue.next(MessageQueue.java:335)
	at android.os.Looper.loop(Looper.java:183)
	at android.app.ActivityThread.main(ActivityThread.java:7887)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:981)
	Suppressed: wa.k0: [androidx.compose.ui.platform.e2@b7d0a7e, i0.e@8e40bdf, x1{Cancelling}@231302c, x0@9a71af5]

What do you think is the issue? Need to back up data ASAP.

[Feature Request] add a transaction description

Checklist

  • This issue contains only one feature request. I will open one issue for every feature I want to request.
  • I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • This feature is merely an UI/UX update.
  • This feature is not going to conflict with many of the existing features/options.

Is your feature request related to a problem? Please describe.

Transactions of withdrawals and deposits are rather generic. There is only date and amounts information

Describe the solution you'd like

Like a fake bank account I would like a short one line description of the transaction

How will you/everyone benefit from this feature?

Would allow to give (optionally) more context to how the saving goal was reached

Additional context

Screenshot_20240212_143217_GreenStash

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.