The architecture for the “backend” isn’t different from a web or other app, the difference being that you don’t need to expose a api/rpc surface of any kind that isn’t regular methods.
Set up some good interfaces and/or view models. This will depend heavily on which front end. An imgui app will have very different preferences from a databound ui and so on. Very hard to make recommendations about this part without knowing what frameworks will be used.
But don’t pretend a desktop app is a web app.