A modern budgeting application built with .NET MAUI and Blazor that helps you divide and manage your monthly income across different categories and track your expenses.
Dividex is a cross-platform budgeting app that allows you to:
- Divide your monthly salary into customizable budget categories
- Track fixed and variable costs for each category
- Manage receipts and compare prices across different purchases
- Visualize your budget allocation with real-time progress tracking
- Save and manage multiple budgets
- Monthly Salary Input: Set your monthly income as the foundation for your budget
- Customizable Categories: Create and manage budget categories with custom names and percentages
- Default categories: Needs (50%), Wants (30%), Savings (20%)
- Add unlimited custom categories
- Each category can have its own percentage allocation
- Subcategories: Break down categories into subcategories for more detailed budgeting
- Subcategory percentages must not exceed their parent category's percentage
- Visual validation ensures percentages stay within limits
- Fixed Costs: Track recurring expenses with fixed amounts
- Add labels to identify each cost
- Real-time tracking against allocated budget
- Variable Costs: Track expenses with min/max ranges
- Useful for fluctuating expenses
- Visual feedback on budget utilization
- Progress Tracking:
- Real-time progress bars for each category
- Visual indicators when approaching or exceeding budget limits
- Color-coded warnings for over-budget situations
- Multiple Budgets: Create, save, and manage multiple budgets
- Name your budgets for easy identification
- View all saved budgets in a list
- Load, update, or delete existing budgets
- Copy existing budgets to create variations
- Data Persistence:
- SQLite database for reliable data storage
- Automatic data persistence across app sessions
- No data loss when navigating between pages
- Import/Export:
- Export budgets to CSV format
- Import budgets from CSV files
- Share budgets between devices or backup your data
- Receipt Tracking:
- Add receipts with custom names
- Add multiple items to each receipt (label and amount)
- Running total calculation as you add items
- Save receipts to the database
- Receipt Comparison:
- Select multiple receipts to compare
- Side-by-side comparison view
- Automatic highlighting of matching items
- "Best Price" indicators for items found in multiple receipts
- Visual feedback with color-coded rows (green for best price, yellow for matches)
- Modern Design: Clean, intuitive interface built with Bootstrap
- Dashboard: Overview page showing:
- Latest budget summary
- Receipt statistics
- Recent activity
- Quick navigation to main features
- Responsive Layout: Works seamlessly across different screen sizes
- Loading States: Visual feedback during async operations
- Error Handling: User-friendly error messages with detailed logging
- .NET 10.0: Modern C# development
- .NET MAUI: Cross-platform framework for native apps
- Blazor: Web UI framework for interactive components
- Entity Framework Core: ORM for database operations
- SQLite: Embedded database for data persistence
- Bootstrap: CSS framework for styling
- macOS (Mac Catalyst)
- Windows
- iOS (requires macOS for development)
- Android (requires Android SDK)
Simply download the latest release from the Releases page, extract the zip file, and double-click the application. No installation or setup required!
- .NET 10.0 SDK
- .NET MAUI workload installed (
dotnet workload install maui) - For macOS: Xcode 15.0 or later
- For Windows: Visual Studio 2022 with .NET MAUI workload
-
Clone the repository:
git clone <repository-url> cd dividex
-
Restore NuGet packages:
dotnet restore
-
Build the project:
dotnet build
If you downloaded a release from GitHub:
- Extract the zip file
- macOS: Double-click
dividex.app - Windows: Double-click
dividex.exe
Note (macOS): On first launch, you may need to:
- Right-click the app → Open (to bypass security warning)
- Or go to System Settings → Privacy & Security → Click "Open Anyway"
The database will be automatically created on first run.
On macOS:
./run.sh
# Or directly:
dotnet run -f net10.0-maccatalystOn Windows:
dotnet run -f net10.0-windows10.0.19041.0The database will be automatically created on first run in the application's local data folder.
The application uses SQLite for data persistence. The database file is automatically created at:
- macOS:
~/Library/Application Support/com.companyname.dividex/dividex.db - Windows:
%LOCALAPPDATA%\dividex\dividex.db - iOS/Android: App's sandboxed data directory
All data is stored locally on your device. No cloud sync or external services are required.
dividex/
├── Components/
│ ├── Layout/ # Main layout and navigation
│ └── Pages/
│ ├── Budget/ # Budget management page
│ ├── Receipts/ # Receipt tracking page
│ └── Home.razor # Dashboard
├── Data/
│ ├── BudgetDbContext.cs # Database context
│ └── Entities.cs # Data models
├── Services/
│ ├── BudgetService.cs # Budget operations
│ └── ReceiptService.cs # Receipt operations
├── Resources/
│ └── AppIcon/ # Application icons
└── Platforms/ # Platform-specific code
See RELEASE.md for detailed instructions on creating distributable releases for GitHub.
Quick release creation:
# macOS
./create-release.sh 1.0.0
# Windows
.\create-release.ps1 1.0.0This is a personal project, but suggestions and feedback are welcome!
[Add your license here]
Built with .NET MAUI and Blazor for cross-platform development.