Skip to content

Latest commit

 

History

History
163 lines (122 loc) · 8.25 KB

README.md

File metadata and controls

163 lines (122 loc) · 8.25 KB

Latest Release Lint Internal Release

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.