Home budget system in .NET

Tracking a household’s budget is particularly a sensitive area. Daily expenditure and revenue management, common cost accounting and tracking the regularly paid bills and checks are time-consuming administration tasks.

In my master thesis I have created a platform-independent home budget system, to provide an effective solution to the problem mentioned above, ensuring that the members of the households can systematically store their daily cash flows. We can determine our budget profile by customizing the cost categories according to the current needs. By using this application, tracking recurring transactions and shared costs are not a problem anymore. The system supports all currencies, so if we go on a vacation or a business trip, we can also keep track of these expenses. We can get rapid information about our balance using cost reports and various diagrams. To enhance the user experience, I have created pure user interfaces and the registration and login process can be done in seconds with the help of social providers.

The constructed system based on .NET. The server application is created with ASP.NET MVC 5 framework. The business logic is provided through a REST endpoint, which was implemented using the Web API technology. The server is hosted on Microsoft Azure cloud platform, using Azure PaaS services: data is stored in an SQL Azure Database, an Application Insights resource is responsible for the system monitoring and I scheduled recurring transactions using the WebJobs service. I have created two different client applications that enable us to use the cost-management features: a web client and a Windows Phone-based mobile application.

The system can easily be extended by adding new client applications. All devices can reach the service through the REST API endpoint, so the clients only need to implement the appropriate user interface and platform-specific parts.