-
Notifications
You must be signed in to change notification settings - Fork 39
User Stories
-
not yet implemented
-
successfully implemented
-
P = Participant
-
S = Staff
-
A = Admin
-
M = Miscellaneous

-
#P01. As Participant, I would like to register an account.
- Registration should include the following details:
- First Name
- Last Name
- Email Address
- Password
- Slack Display Name
- Current Module on LMS
- dropdown options
- includes option for alumni
- Registration Code
- provided by CI
- changes with each Hackathon
- Registration should include the following details:
-
#P02. As Participant, I would like to reset my account password.
-
#P03. As Participant, I would like to update my profile.
- Editable profile details should include:
- First Name
- Last Name
- Email Address
- Slack Display Name
- Current Module on LMS
- dropdown options
- includes option for alumni
- Shipping Address
- hidden by default
- is enabled only if part of a winning team
- Editable profile details should include:
-
#P04. As Participant, I would like to see a list of any upcoming Hackathons.
-
#P05. As Participant, I would like to enroll for an upcoming Hackathon.
-
#P06. As Participant, I would like to be assigned to a team during a Hackathon.
- This should eventually be automatic once an Admin triggers an event to divide participants into teams.
-
#P07. As Participant, I would like to view my team's information.
- Visible items should only include:
- Team Name
- Slack Display Names of Members
- Visible items should only include:
-
#P08. As Participant, I would like to view useful resources and links.
-
#P09. As Participant, I would like to submit our Hackathon entry.
- Submissions should include:
- Team Name
- Name of Team Speaker during presentations
- Link to Source Code / Repository
- Link to Deployed Site
- Consent option to share deployed site on CI social media
- Submissions should include:
-
#P10. As Participant, I would like to see the Judging criteria.
-
#P11. As Participant, I would like to withdraw from a Hackathon event.
- Only available until the teams/judges are dispersed automatically.
-
#P12. As Participant, I should be able to add my shipping address if my team won.
- Enables profile editable field.

-
#S01. As Staff, I would like to register an account.
- Registration should include the following details:
- First Name
- Last Name
- Email Address
- Password
- Slack Display Name
- Registration Code
- changes with each Hackathon
- Registration should include the following details:
-
#S02. As Staff, I would like to reset my account password.
-
#S03. As Staff, I would like to update my profile.
- Editable profile details should include:
- First Name
- Last Name
- Email Address
- Slack Display Name
- Editable profile details should include:
-
#S04. As Staff, I would like to see a list of any upcoming Hackathons.
-
#S05. As Staff, I would like to view useful resources and links.
-
#S06. As Staff, I would like to enroll to be a Judge on the next Hackathon.
-
#S07. As Staff, I would like to view all teams' information.
- Visible items should only include:
- Team Name
- Slack Display Names of Members
- Visible items should only include:
-
#S08. As Staff, I would like to Judge each submission.
- Becomes available only after a Hackathon End Date/Time
- Judging per team using the standard criteria:
- Presentation and Adherence to Theme (1-15 dropdown score)
- Team Collaboration (1-15 dropdown score)
- Usability and Practicality (1-10 dropdown score)
- Effective User of Course Knowledge (1-10 dropdown score)
- Awesomeness (1-10 dropdown score)
- Cannot edit scores once submitted
-
#S09. As Staff, I would like to withdraw as a Hackathon Judge.
- Only available until the teams/judges are dispersed automatically.

-
#A01. As Admin, I would like to be able to do any/all items that Staff have.
-
#A02. As Admin, I would like to create new Hackathon events.
- Hackathon Name
- Hackathon Start Date/Time
- Hackathon End Date/Time
- Hackathon Theme
- Hackathon Description
-
#A03. As Admin, I would like to update existing Hackathon events.
- Hackathon Name
- Hackathon Start Date/Time
- Hackathon End Date/Time
- Hackathon Theme
- Hackathon Description
-
#A04. As Admin, I would like to delete existing Hackathon events.
-
#A05. As Admin, I would like to trigger an event that divides teams/judges automatically.
- Can this eventually be done automatically, X-hours/days prior to event start date/time?
-
#A06. As Admin, I would like to add / update / delete useful resources and links.
-
#A07. As Admin, I would like to update Judges scoring criteria.
-
#A08. As Admin, I would like to view winner's shipping addresses.
- This is so we know where to send prizes to winning teams.
-
#M01. Judging Automation
- Once all Judges have submitted their scores, an automatic tally of scores should determine the winning team.
- This should also trigger the winning team's profile to allow them to update their shipping address.
-
#M02. Admin Triggers Distribution
- Once an admin triggers the event to distribute teams/judges:
- Number of teams and participants per team should depend on total number of participants.
- This should assign a random Judge/Mentor to each team as well.
- To ensure a balanced range of skill levels in each team, the distribution algorithm should assign participants to teams based on their experience (LMS Module) ie. divvy out all Alumni first (if any), then MS4, MS3, MS2, MS1.
- The aim is to have between 4-7 participants per team ideally.
- 50-60 participants = 10-12 teams with approximately 5 per team
- 61-70 participants = 12-14 teams with approximately 5 per team
- 71-80 participants = 14-16 teams with approximately 5 per team
- 81-90 participants = 16-18 teams with approximately 5 per team
- 91-100 participants = 18-20 teams with approximately 5 per team
- 101-110 participants = 20-22 teams with approximately 5 per team
- 111-120 participants = 22-24 teams with approximately 5 per team
- 121-130 participants = 24-26 teams with approximately 5 per team
- 131-140 participants = 26-28 teams with approximately 5 per team
- 141-150 participants = 28-30 teams with approximately 5 per team
- 151+ participants = need to discuss with Community Manager
- Once an admin triggers the event to distribute teams/judges: