User Coordinate System / Transformation Orientation / Pivot Point based on 3 points

Hello everyone!
I wonder if there is a way to create a User Coordinate System / Transformation Orientation / Pivot Point based on 3 points? Maybe some addons?
I found the ways to align Transformation Orientation to a face or to an edge, but they only orient one axis (parallel to the edge or perpendicular to the face), and I need a way to fully control the coordinate system. It would be great in a way like “choose the origin of coordinate system (or the pivot point) (with working snaps to choose a vertex) - then choose the positive X direction (with working snaps to choose the edge) - then choose the positive Y direction (with working snaps to snap to the face plane)”
And then of course it would be great to have an option to align the Camera / View to that coordinate system and to save that view. :slight_smile:
But anyway even without such a beautiful workflow it would be great to have any control on the coordinates =)