BudgetBuddy is a sleek, user-friendly budgeting app designed to help users take control of their personal finances. Whether you're tracking daily expenses, managing multiple income streams, or aiming to understand your financial habits better β BudgetBuddy is here to guide you.
With intuitive tools and insightful financial summaries, BudgetBuddy empowers users to make smarter money decisions. From categorizing expenses to setting spending goals, our app provides everything you need for effective financial management.
- Features
- Own Features
- Security Features
- Prerequisites
- How to Compile and Run
- Video Demonstration
- Tech Stack
- Screenshots
- Contributors
- Learning Outcomes
- References
-
SignUp and Login: Users can securely create an account and log in to access their personal budget data from anywhere. This ensures that all financial information is protected and personalized for each user.
-
Create Categories and Entries: Users can easily organize their finances by creating custom categories (e.g., Food, Transport, Entertainment) and adding income or expense entries under each category. This helps users track where their money is going in a structured way.
-
Take and Store Photos: Users can capture and attach photos of receipts, invoices, or any related documents to your entries. This feature helps users keep a visual record of their transactions for better tracking and accountability.
-
Set Minimum and Maximum Goals: Set financial goals by setting minimum and maximum spending limits. This allows users to stick to their budget and avoid overspending.
-
View List of Entries in a Period: View a detailed list of all income and expense entries within a selected date range. This makes it easy to review and analyze user financial activity over days, weeks, or months.
-
View Category Totals in a Period: Get a clear summary of total spending and earnings per category within a specific time period. This feature provides insights into user's spending habits and helps adjust their budget as needed.
-
Multi-Wallet support: Application allows for multiple different wallets to be created and used by one profile, each wallet has its own transactions and balance as well as their own individual minimum and maximum goals that gets added together to create a global minimum and maximum goal for the user.
-
Advanced multi-Budget Support: Application allows for users to create multiple budgets that can each track spending for multiple different categories for that month. Amount spent in each budget resets on the first of every month.
- Firebase Authentication for secure login and identity management.
- Input validation and protection against improper input.
-
Ensure that you have Android Studio downloaded or you won't be able to run the project. Ensure that you have Android Studio installed on your computer.
-
If you do not have Android Studio, you can download it here: π https://developer.android.com/studio
-
Make sure you have the following installed within Android Studio:
- Android SDK 26+
- Gradle 8.0+
- Install an Android emulator or use a real device for testing.
-
Download and install Android Studio (Giraffe or newer) from the official site: https://developer.android.com/studio
-
Open Android Studio on your computer.
-
Get the project files:
-
Option 1 - Clone the Repository: Click "Get from Version Control" in the github repository and paste the repository link: https://github.com/AlphaSweater/BudgetBuddy-Project.git
-
Option 2 - Download Zip File: If you downloaded a ZIP file, extract it, then click "Open" in Android Studio and select the extracted project folder.
-
Wait for Gradle sync to complete. Android Studio will automatically download required dependencies. (This may take a few minutes the first time.)
-
Ensure you have the correct SDK versions installed:
-
Minimum SDK version needed is 25 (35+ recommended) (You can check or install SDKs via SDK Manager in Android Studio.)
- Connect a device to run the app:
-
Option 1: Plug in a physical Android device with USB debugging enabled.
-
Option 2: Create and start an Android Emulator via Device Manager in Android Studio.
-
Click the green "Run" button at the top (or press Shift + F10) to build and launch the app.
-
The app will install and launch on your selected device, showing the BudgetBuddy application.
πΊ Watch the full walkthrough of BudgetBuddy on YouTube: π Click here to view
- 100% Kotlin
- 100% Jetpack Compose
- Material3 design (UI components)
- Kotlin Coroutines (structured concurrency)
- Kotlin Flow
- Hilt (DI)
- Gradle KTS
- Gradle version catalogs (dependencies versions)
- GitHub Actions
-
Made with contrib.rocks.
-
Chad Fairlie ST10269509
-
Dhiren Ruthenavelu ST10256859
-
Kayla Ferreira ST10259527
-
Nathan Teixeira ST10249266
- Advanced use of Jetpack Compose for UI
- Integration of Firestore for real-time data syncing
- Handling image uploads with external APIs (Imgur)
- Creating custom mappers between database entities and domain models
- Building responsive layouts and implementing state-driven UIs with Kotlin StateFlow
- Using and managing coroutines for efficient thread utilization
- https://www.youtube.com/watch?v=A_tPafV23DM&list=PLPgs125_L-X9H6J7x4beRU-AxJ4mXe5vX
- https://www.geeksforgeeks.org/kotlin-android-tutorial/
- https://www.geeksforgeeks.org/textview-in-kotlin/
- https://www.geeksforgeeks.org/scrollview-in-android/
- https://www.geeksforgeeks.org/horizontalscrollview-in-kotlin/
- https://www.geeksforgeeks.org/cardview-in-android-with-example/
- https://www.geeksforgeeks.org/switch-in-kotlin/
- https://www.geeksforgeeks.org/spinner-in-kotlin/
- ChatGPT was used to help with the design and planning. As well as assisted with finding and fixing errors in the code.
- ChatGPT also helped with the forming of comments for the code.