Miragon / miranum

Engine neutral framework to build integrations. Simplifying the complexity process automation comes with.
https://miranum.io
MIT License
20 stars 3 forks source link

[Epic] - CLI for generating starter projects #101

Closed Hafflgav closed 1 month ago

Hafflgav commented 1 year ago

Description

This epic aims to simplify the creation of an example project which uses the hexagonal architecture. Currently, when implementing a new example with multiple services, it takes a lot of time to establish the folder structure and implement all the rather generic classes as well as interfaces.

We want to create a CLI similar to the one in miranum-ide which generates the folder and package structure needed in an hexagonal architecture. Pom files should also be created featuring the right dependencies. In a next step we could also think about generating the classes and interfaces themselves. For this more information is needed which is either provided by a yaml file of via JSON Schema (e.g. an Element Template). The only thing missing should be the domain logic which needs to be written by the developer. This reduces the complexity of creating such an example and enables us as well as others to prototype faster.

Sub-Tasks

### Tasks
- [ ] https://github.com/FlowSquad/miranum-connect/issues/114
- [ ] https://github.com/FlowSquad/miranum-connect/issues/112
- [ ] https://github.com/FlowSquad/miranum-connect/issues/113

Stakeholder

@dominikhorn93, @DaAnda97

DaAnda97 commented 1 year ago

@Hafflgav @rami-nk I start working on this. To me it makes most sense not to create another project for that but rather have this cli part of our ide, like this:

Image

dominikhorn93 commented 1 year ago

@Hafflgav @DaAnda97 In my point of view this has no priority. We should do something similar to the "Getting Started" examples of Camunda. A CLI for generation feels like overengeneering

dominikhorn93 commented 1 year ago

I thought about something like this: https://docs.camunda.org/get-started/ Including the corresponding GitHub repositories.

dominikhorn93 commented 1 year ago

In the future we could build something like https://start.spring.io/ or https://start.camunda.com/

Hafflgav commented 1 year ago

@Hafflgav @DaAnda97 In my point of view this has no priority. We should do something similar to the "Getting Started" examples of Camunda. A CLI for generation feels like overengeneering

Puh, I think creating such an extensive getting started page can also be quite some work. Having an initialiser or a template project can safe us some time writing these guides. Ideally we have a proper getting started guide in the docs but also make use of some automations when it comes to getting people started.

@dominikhorn93 has created this epic which targets such a getting started page in our documentation.