A software engineer website

Abaks: initial requirements

Gautier DI FOLCO June 04, 2023 [dev] #haskell #design #project #abaks

A long time ago I "started" a side project called abaks, which is a project for personal bank reconciliation statements.

I've been quite busy these lasts months and hopefully my backlog reached the point where I can start working on it.

This project is personal to me as it is one of the thing my mother taught me.

While I could handle it on my own, I have received some requests to have a real-world project exercising polysemy.

I cannot come-up with a real-world project on my spare time, of course, but I can build one, explaining the trade-offs along the way.

In particular, I plan to rely on DDD, especially Event Sourcing as foundation of abaks. I will rely on my interpretation of The Clean Architecture (which slightly diverge from the Hexagonal architecture).

Note: many shortcuts will be taken, for example, I won't detail all the tests done (except if U get requests on this point), I will also use a file-based event store, without projections.

The basic idea is to log a bunch of entries (expected and actual), when they match, they are "validated", otherwise the entry should be somehow "fixed".

Let's start this series with the basic requirements:

For the moment, I won't:

Let's begin a new adventure!