GithubHelp home page GithubHelp logo

ivy-apps / ivy-wallet Goto Github PK

View Code? Open in Web Editor NEW
2.4K 22.0 552.0 18.29 MB

Ivy Wallet is an open-source money manager app for android that you can either build or download from Google Play.

Home Page: https://play.google.com/store/apps/details?id=com.ivy.wallet

License: GNU General Public License v3.0

Kotlin 99.73% Ruby 0.06% Shell 0.21%
kotlin jetpack-compose money-manager android ui-ux functional-programming functional-reactive-programming hilt-android reactive-programming room-database

ivy-wallet's People

Contributors

ahmedmolawale avatar aritzherrero4 avatar beradeep avatar code-a1 avatar dependabot[bot] avatar diasmashikov avatar dubeyanant avatar govindkrishnan avatar iliyangermanov avatar isaacnguyen0809 avatar jevo160296 avatar luispacheco-dev avatar madhavbhavsar avatar maratkhakim avatar mhss1 avatar michalguspiel avatar mohammednawas8 avatar nicolegeorgieva avatar nvllz avatar pkcarreno avatar rick-ab avatar rishi2062 avatar rougsig avatar sandeepjak2007 avatar starhamster avatar stefma avatar timi10x avatar vartult avatar vishwa-raghavendra avatar vivekban 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ivy-wallet's Issues

Optimize home screen performance by replacing the fancy animation with simple scrolling

What do you want to be added or improved?
As a user I want home screen's transaction scrolling to be more smooth on weaker devices.

Is your request already listed in Issues?
No

Explain with bullets why do you need it

  • make my UX smoother

Explain how do you imagine it in detail
Write any implementation details that might help us better fulfill your feature request.
As a user I want to:

  • not see lagging wheb scrolling between transactions
  • the hide balance animation can be optimized

CI/CD

Implement Cotinious Deployment for the project + CI for new commits.

Open Home More menu with swipe down gesture

Problem
To open Home More Menu you need to click the arrow down icon at the top of the screen which might be a bad experience if you're using a device with a large screen.

Solution
To improve the UX we can implement a swipe-down gesture detection when the gesture is done in the upper half of the screen. => Open Home More Menu

Screenshot_20211104-200209_Ivy Wallet

Open-source Ivy Wallet's design by uploading it publicly to Figma

Is the project building?
Yes

What would you like to improve?
I want to:

  • Upload Ivy Wallet's design project publicly in Figma

Because:

  • Contributors can use it to develop new features
  • Contributors can understand the project better
  • Ivy Design Language/System must be visible
  • A true Open-Source and community-driven project must do this

Other
CONTRIBUTORS UPDATE: We're already working on that. It'll take some time because we're migrating from Adobe XD to Figma and all components must be re-created.

Change Text Size

I use a really big font and zoom. It messes the letters in the app up I can't use it.

Setup Ivy Wallet Wiki (help center)

Create a Github Wiki for the repo where Ivy users can learn more about the product and get answers to FAQ.

  • include "Help Center" button in the app's Quick access in more menu

Rework ItemStatistics scrolling

Screenshot_20211103-223922_Ivy Wallet

This screen scrolling UX is glitchy for everyone and terrible on small screens.

Solution

  • Use standard scrolling instead of fancy animation.

can not run project

I am able to clone build this project successfully to prepare for contributions, but when I hit the run button, it throws this error which I have tried to fix:

Execution failed for task ':app:kaptDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction
   > java.lang.reflect.InvocationTargetException (no error message)

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

I tried to fix by adding these to the gradle.properties:

kapt.use.worker.api=false
kapt.incremental.apt=false

It builds successfully, but when I hit run button again on android studio, and I get this error:

/Users/xxx/xxx/JetpackCompose/ivy-wallet/app/build/generated/source/kapt/debug/dagger/hilt/internal/processedrootsentinel/codegen/_com_ivy_wallet_IvyAndroidApp.java:4: error: package javax.annotation.processing does not exist
import javax.annotation.processing.Generated;

any other thing i can try to make it work?
^

More compact transactions UI

As per the following reviews:

  • Rated 5 out of 5 by Evren Γ‡akan.

Best money management app in play store imo. Simple yet powerful with multiple currencies and real time currency conversion rates (which i was looking for a long time). I will buy premium to support development even though i don't need premium features. I have only 1 request: please add an option to a more compact transaction look on home page. I'm using samsung note 8 (which has relatively big display compared to most phones) and i can see only 2.5 transactions on home page. It's annoying to scroll endlessly. All transaction info stays stacked to left of screen/"listview item card"..

https://play.google.com/apps/publish?account=5925949338581436830#ReviewDetailsPlace:p=com.ivy.wallet&reviewid=gp:AOqpTOGCw6-CKkAk9pvUciq_uBc9xtU15qc_H9OVC6VO_azzNPHXlhVfRS8AlT7ty1keQoLl7xPOKsEBlN5Zeg

  • Radoslav Kostadinov feedback
  • other user's reviews

Subcategories (category groups/folders)

As an user I want to be able to:

  • group categories in folders
  • see grouped categories as one part in PieChart
  • go level deeper wheb clicking category folder in PieChart

IMPORTANT: Only one category (not folder) can be assigned to a transaction.

Question: Why `LiveData` over `StateFlow`?

Is the project building?
Yes

What would you like to improve?
Replace LiveData with Kotlin's Flow interface, StateFlow for UI

Because:
Flows are officially supported by Jetpack Compose and it's Kotlin native with a more versed and complete API than LiveData.

Google Drive integration

Google Drive integration is crucial for two things:

  • attach Receipts files to transactions (#6)
  • automatic backups for offline accounts (#35)

Goal

  • create "Ivy Wallet" folder in user's Google Drive
  • create "Ivy Wallet/attachments" directory for uploading attachments (receipts, invoices, etc

Success Criteria

  • create :google-drive module
  • implement GoogleDrive interface supporting:
    • creating & writing files
    • reading files
    • deleting files
  • your Google Drive abstraction can accomplish the things from Goal

Support Light Mode

Dark mode is beautiful but it would be great to show some loves for light mode.

Add "Request a feature" button in Settings

Add "Request a feature" button is Setting above "Contact Support" which when clicked will open a modal with title + description and CTA for submitting.

  • onSubmit: Open a Github Issue with the label "user request" via Github API

Credit cards support

To be defined... Comment if you have any ideas.

From Reviews:

  • "* Add credit card (preferable an option for multiple credit cards for same account). * Installments/payments. * add ability to set planed day of payment without automatically change 'created on'. I love to keep track when i bought the item, regardless the time it eventually sean on bank account."

User requests:

  • Allowing to make a credit card account type with billing dates so that out standing can be marked paid from an account
  • Credit card account where we set monthly credit card limit and record expenses/bill which we have to pay at the end of the month.

Change transaction date & time UX

Currently, to change a transaction's time you have to first select a date (the preselected is today which is wrong) and then select a time. This is a bad user experience.

Solution:
Have different click events for Date & Time.

Tips:

  • use ivyContext.datePicker {}
  • use ivyContext.timePicker {}

[BUG] OnboardingSplashLogin doesn't scroll

Describe the bug
The OnboardingSplashLogin Screen doesn't scroll on my device, I can not access the offline access button
To Reproduce
Steps to reproduce the behavior:

  1. Launch the app on a larger device

Expected behavior
The OnboardingSplashLogin screen should be scrollable

Screenshots

home
Smartphone (please complete the following information):

  • Device: Samsung Galaxy A21s
  • OS: Android 11

Additional context
A fix and better scaling across device should be considered

Transaction labels

  • Assign multiple labels to one transaction for better filtering.
  • Labels screen
  • See transactions by labels

"Ivy Wallet is open-source" card prompt

Display a prompt card in the app that Ivy Wallet is an open-source budget manager and show them the repo so they can see the code, contribute, and open new issues.

Set relevant Date Picker initial date

Currently, all date pickers uses Date.now() as initial date. We should improve it by setting relevant dste based on the context. Example:

  • updating planned payment date must use the previous date as initial

Attach Receipts/Files to transactions

As a user I want to be able to attach one or multiple files to a transaction.

  • IMAGE
  • PDF
  • DOC
  • SHEET

Max file size 10mb.

DEPENDS ON:

  • Google Drive integration (#34)

About Ivy Wallet section in "Settings"

Add an "About Ivy Wallet" button at the button if "Settings" screen to tell Ivy Wallet's story and give credit to all contributors.

OnClick: Open Github markdown page About Ivy Wallet

Hide transactions

USES-CASES:

  • As a user, I want to be able to hide transactions so they don't appear in the transaction history and as income/expenses
  • As a user, I want to be able to see all hidden transactions
  • As a user, I want to be able to unhide a transaction
  • As a user, I want to be able to filter hidden transactions in "Reports"

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.