I'm bringing this list over from an issue in exercism.io repo exercism/exercism.io#1435:
Here are some things that we could include in our characters. A single
character could probably cover multiple points each.
I've been working on the bit that lets us borrow code from the production data dump to give to our fake characters. I'll push it up in a bit.
Sounds good. Does it let you check off those items above? Or will it only let me?
It lets me check them off as well. I'll update the list if I think of any other characters.
Should we add a name or some other unique identifier next to each role? Maybe a link to the addition in the README?
I'm working on a SEEDS.md that will serve this purpose. Then we can copy SEEDS.md and seeds.sql into the exercism/exercism.io project to serve as documentation there. Nobody will need to know about this project unless they wish to tweak the seeds.
I've built out the teams a bit, so it should be fully possible to explore the site in terms of team management and participation.
I've created the following teams:
bob is the most interesting character in terms of teams. He's got almost every combination of member/sole-manager/co-manager/invited (I didn't bother inviting him to a team that he's a manager of):
ruben has been invited to a bunch of teams. Several characters (e.g. kieran, opal, shaina) have been invited to exactly one team. A number of characters are members of a team (see the list of characters in slate), most characters do not have any pending invitations. eve is not involved in teams at all.
I think we can use a ridiculously over-simplified decaying algorithm (algorithm really is too pretentious a word for this, but whatever).
3 timeframes relative to current time at the time the rake task is run
There are two different groups to be notified:
Each timeframe has a different rule. For all relevant users:
"user_id"=>2, # recipient
"regarding"=>"code", # this means a new submission
"count"=>1, # ignore this for exercise notifications, it's always 1
"item_type"=>"UserExercise", # Always UserExercise. Polymorphism goes away with redesign.
"creator_id"=>4 # submitter
I've got a first rough draft of everything except the actual nitpicks. This is still very much a hack, so I expect that there are bugs and surprises.
I'm going to play around with some Markov chain generators next to see if I can get some decent comments.
I redid the whole seeds thing, focusing on the onboarding process. The teams are still in there, but the characters aspect probably needs to be re-developed. I need to add the notifications back in.
I'm going to close this. Later, as we use the seed data for front-end work we can add issues to improve various aspects of it.