Payment book for ledger — a modular .NET application implementing ledger and payment tracking using layered architecture.
Paybook is a ledger and payment‑tracking application built using ASP.NET and C#.
The solution follows a layered architecture separating Business, Service, Database, and UI concerns for better scalability and maintainability.
Repository: https://github.com/arpitsdotnet/Paybook
Paybook
├── Paybook.DatabaseLayer # Data access, repositories, ORM
├── Paybook.SqlStructureLayer # SQL scripts & DB schema
├── Paybook.BusinessLayer # Core business & ledger rules
├── Paybook.ServiceLayer # Application & API services
├── Paybook.Web.MvcUI # ASP.NET MVC UI
├── Paybook.WebUI # Web front‑end
└── Paybook.*.Tests # Unit / integration tests
- Create and manage ledger accounts
- Maintain account balances
- Debit and credit handling
- Ledger consistency rules
- Record financial transactions
- Transaction history
- Account‑to‑account transfers
- Centralized domain logic
- Clean separation of concerns
- Reusable business services
- Application services for UI & external consumers
- Clear service contracts
- Validation and orchestration
- ASP.NET MVC UI
- Ledger and transaction views
- Dashboard‑style screens
- Dedicated test projects
- Business and service layer validation
- .NET Framework / .NET Core (as per solution)
- SQL Server
- Visual Studio 2019+
git clone https://github.com/arpitsdotnet/Paybook.git
cd Paybook- Execute scripts from
Paybook.SqlStructureLayer - Configure connection strings in Web & Service projects
dotnet build Paybook.sln
dotnet run --project Paybook.Web.MvcUI// Create account
accountService.CreateAccount("Cash");
// Post transaction
transactionService.PostTransaction(
fromAccount: "Cash",
toAccount: "Bank",
amount: 1000,
description: "Deposit"
);
// Get balance
var balance = accountService.GetBalance("Cash");- Ledger rules
- Account validation
- Transaction logic
- Application services
- API orchestration
- DTO mapping
- Data persistence
- Repositories
- Migrations
- Controllers
- Views
- User interaction
- Fork the repository
- Create a feature branch
- Add tests where applicable
- Submit a pull request
License not specified. Please contact the repository owner for usage permissions.
Arpit
Senior .NET Backend Developer