goauth2 icon indicating copy to clipboard operation
goauth2 copied to clipboard

Plans for the project

Open aschrijver opened this issue 4 years ago • 2 comments

Came here via the videos which I absolutely loved! I am a Go noob, who's looking into building a fediverse app based on GoFed activity library. Prior to that I'd been looking to do that in a NestJS DDD/CQRS-style architecture, using nestjs-cqrs module.

In the video you mention further work on the app, maybe as reference impl and production-ready OAuth2, but I notice that most commits date from the time of the videos. Do you have further plans with this?


Some things I'd like to mention:

  • I'd add some topics to the repo, like 'cqrs', 'ddd', 'event-sourcing', 'eventstore', etc. for findability, as well as a mention of "DDD" and "CQRS" in the project description.
  • These great videos should not be missed. I'd add their links to the README.

Regarding the code:

  • Seemed to me the process manager concept touched really close to that of Sagas in DDD-terminology.
  • The project is a great candidate for breaking out the DDD/CQRS concepts to their own library (like NestJS did) and save other some of that "boring work" you talked about.
  • Project could benefit from an intuitive 'clean architecture' folder structure, especially for larger DDD apps.
  • With your BDD setup you come real close to Cucumber-style testing where your Gherkin feature description is text-only, and read by the code.

Edit: There is a cucumber impl in Go actually I now see: godog

aschrijver avatar Aug 16 '20 14:08 aschrijver

Thanks @aschrijver for the comments.

A trimmed-down CQRS example can be found here and here. That includes a Go CQRS library for building event sourced applications. My plans are to migrate goauth2 to leverage that library, then release version 1 when the project is ready.

I have added time on my calendar to add some documentation linking to those videos and resources.

pdt256 avatar Aug 26 '20 21:08 pdt256

This is super! I am delighted to hear that.

I have another discussion ongoing with some real fine Go experts (the lead dev of go-fed) about Clean Architecture and project folder structure, that you'll probably find very interesting and on-topic. Here's the issue:

https://github.com/eminetto/clean-architecture-go-v2/issues/3

PS. I actually just mentioned your video. I've been recommending it in many places already :)

aschrijver avatar Aug 27 '20 06:08 aschrijver