I can help you with saving data in the user meta table when a user logs in. This aspect would relate to altering core WP functionality and would be independent from BuddyPress. You would hook the ‘wp_login’ action, which passes the logged in user’s WP_User object to your callback as the second parameter (user_login is first). You are after the user ID, $user->ID
if the passed user object is collected with $user. Use the ID to call update_user_meta() in order to save the current timestamp. I prefer saving Unix timestamps over more human readable formats. They are easier to do math upon, like if it has been 3 days since last login or similar.