Search⌘ K
AI Features

Cash Flow Manager

In this project, you will build the core backend logic for a professional CLI Cash Flow Manager. You will create a system that manages income and expenses, handles persistent storage using asynchronous JSON serialization, and calculates financial analytics dynamically using LINQ.

This is not just a coding exercise; it is a simulation of a real-world financial utility and backend architecture. You will model financial transactions using C# records to guarantee immutability. You will also use the Repository Pattern via Interfaces to separate your data-saving logic from your application menu, a standard practice in enterprise software development.

Key concepts you will apply:

  • Records and enums: Modeling immutable transaction data and account types.

  • Interfaces: Decoupling business logic from data storage to create a highly testable architecture.

  • Events and delegates: Building a decoupled background logging system that reacts to data changes.

  • Asynchronous programming: Reading and writing JSON files asynchronously to ensure the application remains responsive.

  • LINQ: Querying, filtering, and aggregating financial data to generate comprehensive analytics reports.

  • Advanced validation: Using Regular Expressions and DateOnly parsing to gracefully handle unpredictable user input.

By the end of this project, you will have a working, portfolio-ready simulation that can track cash flow across multiple accounts, validate user input strictly, save and restore state automatically, and generate detailed financial reports.