Enable anonymous users and then create the pages you need. https://docs.mendix.com/refguide/anonymous-users
Be careful though: it can be tricky from a security point of view
https://docs.mendix.com/howto/security/best-practices-security
https://docs.mendix.com/howto/security/set-up-anonymous-user-security
I hope this helps.
In a microflow under the save button pass the registration entity and create Account entity with the values. Make sure your password validation matches and usernames need to be unique so also cover that one or else your commit with fail.
At the end of the flow close your page and guide the still anonynous user to your sign in page. I don't know if it's still not possible for automatically signin after hittin the save button. That would be your next step I gues. The NanoFlow commons has a Javascript SignIn action which you could possibly use.
Make sure your registration entity is non persistent or deleted, so you don't end up with unhashed passwords in your database.