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.
-
How much money do I have right now in all accounts combined?
-
How much did I spend this month and where?
-
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.
To support our free, open-source project please β star our repo - that means a lot for us! Thank you! π
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
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.
- Modular architecture
- FRP (Functional Reactive Programming)
- MVVM (Model-View-ViewModel)
- Onion Architecture (FP)
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! π
- 100% Kotlin
- 100% Jetpack Compose
- Kotlin Coroutines
- Kotlin Flow
- Hilt (DI)
- Jetpack Compose Navigation
- ArrowKt (Functional Programming)
- Ktor Client (REST client)
- Gson (JSON serialization)
- Timber (Logging)
- Firebase Crashlytics (crashes, logging)
- Gradle KTS
- Fastlane (upload to Google PlayStore)
- Github Actions (CI/CD)
- Java 11+
- Android Studio Electric Eel+ (for easy install use JetBrains Toolbox)
- Clone the repository
- Open with Android Studio
- Everything should sync and build automatically
- If any build problems occur, please open a new issue including the logs.
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!
Be the change! Join our Telegram community, star our GitHub repo , and tell us how we can create a better environment for developers & creators to work together.
Contributors (see graph)
- 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).
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 .
- 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!
Note: It may take up to 24h for the contrib.rocks plugin to update because it's refreshed once a day.