Gen8 Tech Ledger API is an open-source project to manage your transactions.
This application includes:
- Ledger and journal double entry bookkeeping where entries are recorded by debiting one or more accounts and crediting another one or more accounts with the same total amount
- CQRS/ES: According to Martin Fowler, CQRS stands for Command Query Responsibility Segregation. It's a pattern that I first heard described by Greg Young.
- Aggregate Root: Account, Book
- Entities: Lot, Period, Price, Security
- Value Object: JournalEntry, Transaction
Server Side - ASPNET Core backend with a restful API using Kestrel Web API Controllers:
- ASP.NET Core and C# for cross-platform server-side code
- CQRS/ES architecture using CQRSLite
- Persistence layer using MongoDB
Running dotnet build
will build and dotnet run
will present a preview.
Running dotnet test
will run the unit tests with xunit.
Running dotnet publish
will run the deployment steps.
Setting up
ASPNETCORE_ENVIRONMENT
,MONGOLAB_URI
andJWT_SECURITY_KEY
environment variables will be necessary in your deployment. ASP.NET Core Environments