While it looks like what you’re trying to do could be accomplished with user roles (and add_cap() if you’re looking to be more specific with roles), if you still really want to make a different dashboard, you can build one.
I recently built a site that was has a custom dashboard for the end users. It can provide a great user experience, but it takes a lot of work to get going.
To get you started, you would need to redirect non-admins away from the wp_admin by adding this to your functions.php
if ( is_admin() && ! current_user_can( 'administrator' ) && ! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) {
wp_redirect( home_url() . '/wp-login.php' );
exit;
};
And a similar redirect function on whatever page you are using for your dashboard
if (!(is_user_logged_in())){
wp_redirect( home_url() . '/wp-login.php' );
exit;
};
That way, anyone with a login can access “/dashboard’, but only admins can access ‘/wp-admin’.
If this is the road you’re looking to take, you should understand that it can take weeks to months of development to get a consumer ready dashboard built out.