Is strapi good for onborading project?

Hi guys!

I have a project for onboarding forms, it required a dashboard for 3 rules:
1- Users (clients)
2- Employer (Staff)
3- Admin (Staff)

for the users, I need to include an advance form and then save it to the database.
and then inside the Admin and Employer dashboard, I need to list all users and when I click on each user I need to list all form data belong to the specific user.

Employe(rule) can Read only all the data.
Admin(rule) can Read & Delete all data.
Users(rule) can Post data.
I think their an option for this am I right?

also, I need to send a welcome email when I a new user register, this email will have the user email and password for his account, what is the best way to do it?

and finally, I have PDF in form, I’ll use a Reactjs PDF generator library to generate a form and then upload it to the server, what is the best way to achieve this?

for the front-end I’ll use Nextjs framework

thank you