WireGuard is awesome once you have it set up, but I find user management a little fiddly due to the need to generate a key pair and assign an IP address for each client.
The last time I set up a WireGuard server, I used this script (with minor modifications) to create the users:
https://github.com/adrianmihalko/wg_config
But, the next time I set up a WireGuard server, I'll use this web-based admin UI, which displays a QR code to easily configure a mobile client: