Collaborators: Justin Hamerly, Katy Roffe, Joe Ivans, Tray Chea
Treat your elves is a web app used for managing secret santa parties. A group admin can create a group, add members to that group, and initiate a function to randomize the secret santa pairings.
Features to be included are a user friendly interface for managing your group, managing your personal wishlist, and a notification system for secret santa deadlines.
As a group member I want to be able to add items to my wishlist for my secret santa to view
Feature Tasks:
- User can add an item to their wishlist
- All users in the group will be able to view all user wishlist
Acceptance:
- When the user searches for an item, they can click an add button, and the item will be added to their wishlist in a database
- When a group member is logged in they will see the wishlist of their secret gift recipient
As a group administrator I want to be able to add my group members to the secret santa event
Feature tasks:
- Admin can create a group and add users to the group
- Admin has privileges to add and remove members
- Users cannot add members/can request invitation for new members
Acceptance:
- The admin has an interface for adding and removing members
- When members are added or removed, the group member list will update
- Users have a request button, and when they request an add to the group, the admin will receive a request to approve or deny the request
As a group admin, I want to be able to randomly assign everyone in the group a unique member of the group as their secret santa
Feature tasks:
- Each member of the group is assigned a unique secret santa
- There are no duplicate secret santas
- You will not be assigned yourself as your secret santa
Acceptance:
- Group members will each be assigned a random secret santa using an array
- This will ensure that each member is tied to another unique member
- The member on the end of the linked list will be linked to index[0] of the array
As a secret santa, I want to be able to revisit the app to view any updates or changes made to my assigned partner
Feature Tasks:
- Wishlists will be stored on a PostreSQL database
- The database can receive CRUD requests to make changes and view wishlists
Acceptance:
- When doing CRUD requests, the PostreSQL database will reflect the changes
- Status messages will be sent back upon successful/unsuccessful database requests
As a group participant, I want to easily be able to view my gift recipients wishlist, as well as be able to add items to my own wishlist.
Feature Tasks:
- items will be displayed in a user interface with clear buttons for different functions (adding items, viewing items etc)*
Acceptance:
- When interacting with buttons for adding, viewing and removing wishlist items, the behavior is expected and clear
As my secret santa group's admin, I want to easily be able to send out notifications to my group, as well as easily be able to initiate the secret santa pairing
Feature Tasks:
- implement button for initiating secret santa pairings *
- implement interface for notifications - deadline for getting items *
- implement interface for adding users to a group *
Acceptance:
- When interacting with buttons for creating secret santa pairings, some sort of confirmation is given to the admin, and a notification is sent to group members telling them their secret gift recipient *
- when the admin pushes for a notification to be sent out, the group members receive that notification *
- when a user's email is input into a form, that user gets added to the "group users" *