Flockingbird / roost

Proof of Concept for Eventsourced backend
https://flockingbird.social
MIT License
35 stars 4 forks source link

Your experience with this PoC? #59

Open aschrijver opened 3 years ago

aschrijver commented 3 years ago

Hi there,

I've set up Fediverse Futures on SocialHub, and am very curious about this PoC especially wrt applied methodology + architecture. Part of my fedi advocacy is highlighting the potential of federated ActivityPub apps in different application / business domains than Microblogging, and highlighting more of the potential of the Linked Data nature of AS/AP specs.

Would like to invite you to join the SocialHub in the #software category with Flockingbird. Also I'd like to discuss your experiences with this project and taking a DDD / CQRS / ES / ActorModel direction in general. I feel that it is an ideal approach where bounded contexts map very well onto AP extension vocabularies, among others. Combined with libraries such as go-fed this could serve to speed up app development significantly.

DDD is an often misunderstood approach, because people encounter all kinds of cruft that complicates the method, while the core concepts (domain model, bounded context, context map, ubiquitous language) are really intuitive. I recently gave some long explainers for FedeProxy in United Software Development: A new paradigm?

Also more generally a different approach to interoperable app development might arise. See From silo-first to task-oriented app design.

PS. Also tried to reach you on fedi with this.

berkes commented 3 years ago

Hello, I'm on socialhub already. But with the ever limited time, don't have a lot of time yet to participate in general discussions over there.

WRT DDD and the architecture, here's a thread I opened: https://socialhub.activitypub.rocks/t/event-sourcing-the-activitypub-server/972.

We want to get the initial demo and search (https://github.com/Flockingbird/hunter2/) out of the door, before we have more time to participate in the community on forums such as socialhub. But if there's anything concrete you'd like to have answered or contributed there, please let me know, then I'll spend some time writing- and following- up such a request.

EDIT: And thanks a lot of reaching out and all the work you poor into "herding the cats", getting the AP community to work together, learn, share and so on! Very much appreciated!

aschrijver commented 3 years ago

Oh, nice. I forgot abouth that thread, tbh. I feel that many interoperability issues don't come to the surface enough, as everyone crams their app on top of Microblogging domain, and learns from code in someone else's repository while doing so (mostly Mastodon's).

When many different Domains start integrating with fedi, not only the tech standards become important, but also the methods and processes in which they do so. I feel that DDD strategic design can be a great match here, to speed up application development. If you ever find some time to write a blog post on the matter, that would be great. In the meantime I wish you great progress on Hunter2!

Re:herding cats. It is tremendously time-consuming and stalling my own projects, like Groundwork (which is still not ready to be publicly announced). But I feel it is very much needed, as fedi progress is at a crawl and things are diverging. I would like to convince more devs (after they launched their MVP ;) that participation in SocialHub actually results in a win-win for their own project.

berkes commented 3 years ago

I'm impressed by the README in Groundwork. I think I'll be "stealing" some of the structure and maybe some of the terminology there soon. For roost, there's a wiki, which is very much under construction https://github.com/Flockingbird/roost/wiki/UL-aggregates . And as a wiki, it is always obviously slightly outdated.