I would like to create an array in a custom module configuration where I can manually order the lines thanks to drag & drop.

I can see there is a similar behavior in the related products when editing a product.

The array lines would contain 4 columns:
draggable handle, title, checkbox or dropdown and text input.

How should I proceed?
Thanks in advance for the help.