-
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
- Org
- 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
- Org
- 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.
- If they are from an org, they should only see public Hackathons and their Org's Hackathons.
- Only Hackathons with status published should be viewable
-
#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.
- Useful Resources (in progress)
- FAQs
-
#P09. As Participant, I would like to submit our Hackathon Project.
- Hackathon Project 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
- Hackathon Project 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
- Org
- 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.
- If they are from an org, they should only see public Hackathons and their Org's Hackathons.
- Only Hackathons with status published should be viewable
- (if Admin) should see the drafts they created
-
#S05. As Staff, I would like to view useful resources and links.
- Useful Resources (in progress)
- FAQs
-
#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 Hackathon Project 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
- Status (draft/published/deleted; default: draft)
- Org (default: CodeInstitute)
- If the value is CodeInstitute, then it's public
- Else only participants from that Org (and Staff/Admins) should see it
-
#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 manually trigger an event that divides teams/judges evenly.
- 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.
- Once an admin triggers the event to distribute teams/judges:
-
#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. Automation of Team/Mentor Distribution
- In lieu of #A05 (the manual event for distribution), this would be automated 48hrs prior to the official start date/time of the Hackathon:
- 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
- In lieu of #A05 (the manual event for distribution), this would be automated 48hrs prior to the official start date/time of the Hackathon: