KidsTales / kt-web

For the children.
MIT License
0 stars 0 forks source link

REVAMP RANK SYSTEM #20

Closed Apexal closed 7 years ago

Apexal commented 7 years ago

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)

Apexal commented 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 }
Apexal commented 7 years ago

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:

Apexal commented 7 years ago

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.

Apexal commented 7 years ago

Here is a pretty good overall solution: