myBudget is an open-source web application to manage personal budgets.
Note
This project is part of the "100 Commits" competition.
- Create a budget
- List of budgets
- Define a list of categories for each budget
- Archive budget category to not use it anymore
- Create a transfer (income or expense) in budget
- Delete transfers
- Assign a category to transfer
- List of transfers with filtering by category and dates
- Dashboard
- sum of incomes in one month
- sum of expenses in one month
- balance
- expenses to incomes ratio
- expenses grouped into categories
- bar chart
- pie chart
- User registration
- Workflow definition
- Integration with banking account
The project consists of 3 components
- my-budget.frontend - react app
- my-budget.api - dotnet app
- my-budget.identity - dotnet identity server. It implements the OpenIdConnect standard using OpenIddict library
Application is available on https://my-budget-app.azurewebsites.net
- username: demo@mybudget.pl
- password: Demo!23
Warning
Application is hosted on Azure Service App Free Plan, so it is possible that you have to wait a moment for application start.
The aim of the project is to test some solutions and concepts:
- DDD approach
- implementing OpenIdConnect with OpenIddict
- minimalAPI
- TestContainers
- MassTransit as mediator
- Result pattern
- Entity Framework Core Owned Entity Types
- API testing
- github actions
- github container registry