stackmuncher / stm_app

This software engineer profile builder turns your code into a detailed list of skills for an online directory of software developers.
https://stackmuncher.com
GNU Affero General Public License v3.0
22 stars 1 forks source link

User identity #20

Open rimutaka opened 3 years ago

rimutaka commented 3 years ago

Git relies on email as the primary user identity. This may not work for us for a number of reasons:

  1. The email used to commit is a dummy email - we cannot contact the person
  2. The email is shared - we can't tell which commit belongs to whom or contact the person
  3. The email is work email - the dev may not want to be contacted on that email
  4. The email is no longer accessible - we cannot contact the person

The directory uses the public key included in the submission as the main identity of the person, which then can be mapped to multiple Git emails and a single primary email.

The app should try its best to get the right IDs with minimal risk to the user (1st) and minimal friction (2nd):

  1. [x] Check what user details are stored in Git config.
  2. [x] Tell the user what was found
  3. [x] Allow overwrites from the CLI args
  4. [x] Cache known details so that if they change in Git config the old IDs can still be used for processing the old code
  5. [x] Update ReadMe with --gist details
  6. [x] Remove requirement to have primary_email email
  7. [x] Use public profile URL instead of anon where available
  8. [ ] Include private projects in stm-gh updates
  9. [ ] Remove private projects from the public profile when the public a/c is disconnected via --gist ""

The directory should only send any emails to addresses that were either manually verified or were provided in the CLI param as the preferred contact.

rimutaka commented 3 years ago

I'm not sure the user ID is done right. Need to document everything in README, but it may be a wasted effort right now. I'd better make a handler for Inbox messages and profile generation, same as for #18 .

rimutaka commented 3 years ago

Tie user ID to GH profile

  1. Ditch any identifiable info , including name, contact and email from the app's config
  2. Add github login param
  3. Take all the user details from GH

Adding a GH a/c will display the private repos under the GH a/c on STM, essentially, making the profile public.

rimutaka commented 3 years ago

Public and private projects are now consolidated under the same GitHub URL. E.g. https://stackmuncher.com/rimutaka

image

TODO

  1. Include private projects in stm-gh updates
  2. Remove private projects from the public profile when the public a/c is disconnected via --gist ""