Description
Right now the profile, account, and dashboard pages are a bit of a jumble. We have a bunch of "stuff", and I'm not sure what stuff is useful and what is not.
Account page:
- Link to the API key page where you can reset it.
- Private URL stuff, to make your profile visible to people even if they're not logged in, and to let them see the solutions to your exercises from the profile (usually you'll only get access to exercises that you yourself have solved)
- Avatar - instructions to update it on GitHub, if you like
- list of teams (member of or invited to). For each team
- link to the team activity stream (if you're a member)
- invitations, with button to accept or decline
- button to leave a team that you're a member of
- team invitations with buttons to accept or decline
- button to leave the team
- button to create a new team
- track mentor stuff: if you're a track mentor on any tracks
- list the tracks
- provide a form to let you invite other track mentors to tracks you're a mentor on
Profile page:
The profile is a problem, because some stuff is visible just to the person whose profile it is, other stuff is visible to everyone. We should really have pages that are just one or the other, because it's super hard to maintain (and hard to implement new features without getting it wrong, and hard to review pull requests, because there's so much complexity).
- username
- avatar
- link to GitHub profile
- teams that the user is on (only links to it if the person viewing the profile is a member of the team)
- progress bars for the profile. Lots of problems with this, UX-wise, especially for people with lots and lots of exercises in lots and lots of languages. I don't know that we need progress bars, maybe it's the wrong way to think about it. I have expressed opinions in various issues, but I think I'm not seeing this clearly at all. See
- Feature Request - label which exercises are complete exercism#2780
- User page: sort languages by progress percentage exercism#2758
- Don't include "HelloWorld" in progress or statistics in general exercism#2736
- Profile Page: completed exercises chart exercism#2816
- Progressbars on accountpage, differ between archived and not archived exercises exercism#2734
- Profile Activity Stream exercism#2059
- List of exercises that the user has solved, by language, in a table, sortable
- List of archived exercises the user has solved
- List of tracks that the user has completed, with a suggestion that they help contribute to the track.
- Explanation for lock icon (you don't get to see exercises you've not completed yourself... unless you're looking at a "private share" URL).
Dashboard
The dashboard doesn't seem to be useful at all. I think we need to rethink it from scratch per all three use cases (newbie, polyglot, artisan), as well as what it looks like if you haven't started any exercises yet.
It contains:
- exercises that are in progress
- teams
- links to recently viewed exercises
- links to notifications about reactions to your own solutions (likes, comments)
- link to the help page
- link to the contribution guidelines