Re: hiding dashboard
Look for the `bp_adminbar_thisblog_menu` function in `bp-core/bp-core-adminbar.php`. It’s around line 151 (BP Version 1.2.7).
There is an `if` statement with `current_user_can( ‘edit_posts’ )`. Replace `edit_posts` with whatever role you want to check it for. https://codex.wordpress.org/Roles_and_Capabilities
And you might already know this, but you should try to make your changes to the function using `bp-custom.php`. https://codex.buddypress.org/extending-buddypress/bp-custom-php/