Closed Apexal closed 7 years ago
This is what I will do:
Ranks are per user now (as they were in the very beginning) User schema changes:
// For teachers
rank: 'teacher',
rankInfo: { camp: campId }
// For directors
rank: 'director',
rankInfo: { ambassador: ambassadorId, camp: campId }
// For ambassador
rank: 'ambassador',
rankInfo: { area: 'Area Name', camps: campId }
After talking to higher ups, it seems like ranks are set at one point during the school year and don't change for months, until after the camp finishes. After this everything pretty much resets for next year. Because of this, associating users directly with ranks may not be best practice.
Perhaps rank info will be erased from user schema's and only will be handled by workshops.
The process would be something like this:
Thinking about it more made me realize users who are ambassadors/program directors need to keep their rank associated with their user so they can manage workshops at any time. Perhaps ranks should be kept but definitely active workshop ID's shouldn't be kept on users.
Here is a pretty good overall solution:
Ambassador
, Program Director
, or Teacher
and once accepted it is associated with their account
After meeting with Board Members, the current way I have ranks set up (all relative to camps and not bound to user account at all) would not work well in practice.
It appears (subject to change)