/IvyWallet-PL_Version

Android Testing course by Philipp Lackner.

Primary LanguageKotlinGNU General Public License v3.0GPL-3.0

Latest Release Build Lint Unit Test

License: GPL v3 PRs welcome! GitHub Repo stars Github Sponsor

1 2 3 4
5 6 7 8

Ivy Wallet is a free money manager android app written using 100% Jetpack Compose and Kotlin. It's designed to help you track your personal finance with ease.

Imagine Ivy Wallet as a manual expense tracker that will replace the good old spreadsheet for managing your personal finance.

Track your expenses, fast and on-the-go! ⚡ Discover powerful insights about your spending.

Do you know? Ask yourself.

  1. How much money do I have right now in all accounts combined?

  2. How much did I spend this month and where?

  3. How much money can I spend and still reach my financial goals?

A money manager app can help you answer these questions.

Ivy Wallet's biggest advantage is its UI/UX, simplicity, and customization which was recognized in the "Top/Best Android App in 2021/2022 charts" 10+ times by the YouTube tech community.

Get it on Google Play

To support our free, open-source project please ⭐ star our repo - that means a lot for us! Thank you! GitHub Repo stars 🙏

Join our private Telegram Community.

You can see our future plans for the product in Ivy Wallet's Roadmap.

If you want to support our work see our GitHub Sponsors page Github Sponsor

Architecture

We strive to keep our architecture "perfect" by putting software-design and code quality first.

We read a lot of books, CS papers, blogs and follow latest research in the industry.

Our goal is to make this repo the go-to project to learn about Android Development latest best practices and software architecture.

High-level view:

We've documented every major architecture decision as ADR (Architecture Decision Record) in docs/architecture. The best thing about ADRs is that you can see not only what went well but also what didn't!

We're also big on Computer Science that's why we're documenting every important algorithm used in the app. To see the algorithms in Ivy Wallet and their detailed space-time complexity analysis go to docs/algorithms.

If you're starting out with the Ivy Wallet project first have a look at our :core module.

We're also linking great learning materials (books, videos, articles, papers) in docs/resources 📚.

Have ideas/proposals how we can make our project better? Please, get in touch! 🚀

PRs welcome!

Tech Stack

Core

Local Persistence

  • DataStore (key-value storage, Shared Preferences replacement)
  • Room DB (SQLite ORM)

Networking

Other

CI/CD

Project Requirements

How to build?

  1. Clone the repository
  2. Open with Android Studio
  3. Everything should sync and build automatically

Ideology 🌍

We believe that people (not corporations) 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 with zero-tolerance to "bad" code and putting code quality above everything.

We believe in:

  • Freedom.
  • Creativity & Innovation.
  • Challenging the status quo.
  • Technical excellence and eliminating complexity at any cost.

We're always open to new ideas and proposals! Have an idea? 💡 Join our Telegram community or submit us a PR - we appreciate both!

Community

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

Contributors (see graph)

Why to contribute?

  • It's a win-win!
  • You'll appear in our contributors wall.
  • You can include it in your CV/LinkedIn and show recruiters that you contribute to open-source projects (counts as +1 released app in the Google PlayStore).
  • You'll make Ivy Wallet better.
  • You can develop the features that you miss in the app 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).

How to contribute?

Follow our compact Contributors Guide to begin.

TL;DR:

  • Submit pull requests for bug fixes, code improvements and features 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 ⭐⭐⭐⭐⭐.
  • Star our GitHub repo GitHub Repo stars.
  • Fix typos in READMEs (.md files), Docs and broken links - we have a lot of them as you'll see and fixing them helps a lot, too!

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.