Part A:
You can use Ory Kratos for the user authentication and self-service part and Ory Keto to implement roles and permissions. You can either selfhost those services or use them in Ory Cloud.
For different example implementations check the documentation, and also the community contributed projects:
https://www.ory.sh/docs/ecosystem/community/
Also check out factlys talk, could be related:
Hey @User
Did you make any progress?
I am looking to improve the docs a bit for use cases like yours.
Would you be willing to start a discussion on GitHub with your above description and any other info that you want to add around your use case?
https://github.com/ory/kratos/discussions/new
That would help us a lot to plan these new guides & tutorials, thanks!