GithubHelp home page GithubHelp logo

solomonrajan / ivy-wallet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ivy-apps/ivy-wallet

0.0 0.0 0.0 7.98 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

Shell 0.05% Ruby 0.08% Haskell 0.06% Kotlin 99.81%

ivy-wallet's Introduction

Latest Release TEST Build

License: GPL v3 PRs welcome!

Ideology 🌍

We believe that people (not corporations or business entities) can create innovative, open-source, and free software that can make the world a better place.

We want Ivy to be:

  • A place where you can excel and have fun while contributing to something meaningful.
  • A community where you can express yourself freely and build the future that you want to live in.
  • An open-source project that'll inspire a movement where people can build the software they want and eventually become a DAO where hundreds of developers can work on their own terms.

We believe in:

  • Freedom.
  • Creativity & Innovation.
  • Challenging the status quo.
  • Decentralization.
  • Having the right to do what you believe in, not what you're told to.

Community

Be the change! Join our Telegram community, comment on GitHub, and tell us how we can create a better environment for developers & creators to work together.

Ivy Developer Guidelines

A short and helpful guide on Android Architecture, Functional Reactive Programming (FRP) and Ivy best practices - Ivy Developer Guidelines.

Tip: Read it -> make proposals -> make the project better! 🚀

The Ivy Wallet App

Personal finance and spending tracker app which helps you manage your money.

ivy-wallet-screenshot-1 ivy-wallet-screenshot-2 ivy-wallet-screenshot-3 ivy-wallet-screenshot-4 ivy-wallet-screenshot-5 ivy-wallet-screenshot-6 ivy-wallet-screenshot-7 ivy-wallet-screenshot-8

Ivy Wallet is a free budget manager and spending tracker app that’ll help you manage your personal finances with ease.

Imagine Ivy Wallet as a digital financial notebook (manual expense tracker) in which you’ll track your income, expenses, and budget.

The advantage that our money manager gives you is that you can track expenses on the go with an intuitive and simple user interface (UI).

Once your transactions make their way into Ivy Wallet, the spending tracker app will give you insight into your monthly spending and help you plan your budgets.

When you enter more income and expenses in the money manager app you'll have an answer to three essential questions:

  1. Exactly how much money do I have right now in all accounts combined? (money manager)

  2. How much did I spend this month and where? (expense tracker)

  3. How much money can I spend and still reach my financial goals? (budget manager)

$Track. $Budget. $Save

Design

..Migration from Adobe XD to public Figma project IN PROGRESS!

To understand more about Ivy Wallet and its data model please visit Ivy Wallet Wiki.

Technologies

Core

  • Kotlin
  • Jetpack Compose (UI & navigation)
  • MVVM architecture with LiveData
  • Hilt (DI)
  • Kotlin Coroutines
  • Functional Programming with Arrow

Networking

  • Retrofit (REST API)
  • OkHttp 3 (REST client)
  • Gson (JSON serialization)

Local Persistence

  • Shared Prefences
  • Room DB (SQLite ORM)

Other

  • EventBus (cross component communication)
  • Timber (Logging)
  • Firebase Crashlytics (crashes, logging)

CI/CD

  • Gradle KTS
  • Fastlane (upload to Google PlayStore)
  • Github Actions (CI/CD server)

Project Requirements

How to build?

  1. Clone the repository
  2. Open with Android Studio
  3. Everything should sync and build automatically
  • If any build problems occurr, please open a new issue including the logs.

Contributors (see graph)

Why to contribute?

  • It's a win-win!
  • You'll appear as an Ivy Wallet contributor in our public repo
  • You can include it in your CV/LinkedIn and show recruiters that you contribute to our app (counts as +1 released app in the Google PlayStore)
  • You'll make Ivy Wallet better
  • You can develop the features that you want yourself, the way you want them
  • You'll play around and learn cutting-edge technologies
  • It's the easiest way to learn Jetpack Compose in a production environment
  • You can see Android Development Best Practices in 2022 (and also help us improve our code)
  • When we merge your first PR I (Iliyan Germanov) will endorse you on LinkedIn for Android Development and Kotlin
  • Personal recommendation on your LinkedIn profile after 10 successfully merged PRs - make sure that you notify us because we don't count your PRs :)

How to contribute?

Follow our compact Contributors Guide to begin.

TL;DR:

  • Submit pull requests for bug fixes / code improvements to the develop branch
  • Implement and submit PRs for opened issues
  • Report (or fix) bugs/glitches
  • Create new issues to give us ideas and feedback
  • Download Ivy Wallet and leave us a review

I hope a lot more profile pictures are going to show up here, soon!

Contributors Wall:



Note: It may take up to 24h for the contrib.rocks plugin to update because it's refreshed once a day.

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.