A modern .NET MAUI application that empowers individuals to track income, manage expenses, set budgets, and visualize spending patterns — all in one seamless cross-platform experience.
- 📲 Cross-Platform: Built with .NET MAUI & C#, works on Android, iOS, and Windows.
- 💾 Offline-First: Uses SQLite for fast and reliable local storage.
- 🔗 Cloud Sync: Sync data securely across devices using REST APIs.
- 📊 Reports & Insights: Interactive charts for income/expense trends.
- 🗂️ Smart Categorization: Manage categories and budgets with ease.
- 🔒 Secure Access: Optional user authentication and data encryption.
FinTrackApp/
├── MyFinanceApp/ # .NET MAUI Mobile Application
│ ├── App.xaml
│ ├── App.xaml.cs
│ ├── Program.cs
│ ├── Models/ # Data models (Transaction, Category, Budget, User)
│ ├── ViewModels/ # MVVM bindings
│ ├── Views/ # Pages (Dashboard, Transactions, Reports)
│ ├── Services/ # SQLite, API, Sync, Auth
│ ├── Helpers/ # Constants, Converters, Validators
│ ├── Resources/ # Fonts, Images, Styles
│ └── Tests/ # Unit & UI tests
│
└── MyFinanceApi/ # ASP.NET Core Web API
├── Controllers/ # Transactions, Categories, Auth
├── Models/ # Shared backend models
├── Data/ # EF Core DbContext & migrations
├── Services/ # Business logic layer
└── appsettings.json
| Layer | Technology |
|---|---|
| Frontend (App) | .NET MAUI, XAML, MVVM Pattern |
| Backend (API) | ASP.NET Core 8, EF Core, REST APIs |
| Local Storage | SQLite (Offline) |
| Cloud Database | SQL Server / PostgreSQL |
| Charts & Reports | Microcharts / Syncfusion |
| Sync & Auth | Background Sync, JWT Authentication |
- .NET 8 SDK
- .NET MAUI Workload
- Android/iOS Emulator or Device
- EF Core CLI Tools:
dotnet tool install --global dotnet-efgit clone https://github.com/hq969/FinTrack.git
cd FinTrackcd MyFinanceApi
dotnet restore
dotnet ef database update
dotnet runAPI runs at: https://localhost:5001
cd ../MyFinanceApp
dotnet restore
dotnet build
dotnet maui runpublic class Transaction
{
public int Id { get; set; }
public string Type { get; set; } // Income / Expense
public decimal Amount { get; set; }
public string Category { get; set; }
public DateTime Date { get; set; }
public string Notes { get; set; }
}- Add recurring transactions
- Improve UI/UX with animations and charts
- Enable multi-language support
- Implement push notifications
- Integrate AI-based spending insights
We welcome contributions!
- Fork the repo
- Create a new branch (
feature/awesome-feature) - Commit changes and push
- Open a pull request
This project is licensed under the MIT License — see the LICENSE file for details.
Harsh Sonkar AWS Engineer • Data Science Enthusiast • Full-Stack Developer
📫 Connect with me on LinkedIn