Share your wishlist with your loved ones to help them communicate, and keep their claims a surprise to you.
Wish users create their own wish list and share it with their loved ones, who can then mark wished for items as claimed. Other loved ones can view that an item has been claimed, but that claim remains a surprise to the user who wished for it.
- A new user can sign up with email and password, optionally including a group code to join an existing group.
- A user can add gifts to their wish list, optionally including a description and url.
- A user can invite other users to join their group by sharing their group code.
- A user can view the wish lists of the other people belonging to the user's groups and mark gifts as claimed.
- Claim status is visible to other users, but not the user who wished for the gift.
Designed using figma; view the design file here.
- Color palette: materialDesign
- Placeholder images for this README: placeholder
- Illustrations: unDraw
- UI elements: materialUi
Field | Data Type | Constraints |
---|---|---|
id |
string |
not null , primary key |
name |
string |
not null |
email |
string |
not null |
hashedPassword |
string |
not null |
avatar |
string |
|
groups |
array: [ ObjectId ] |
not null |
Field | Data Type | Constraints |
---|---|---|
id |
string |
not null , primary key |
name |
string |
|
users |
array: [ ObjectId ] |
not null |
Field | Data Type | Constraints |
---|---|---|
id |
string |
not null , primary key |
name |
string |
not null |
description |
string |
|
wishedBy |
objectId |
not null |
isClaimed |
boolean |
not null , default = false |
claimedBy |
objectId |
|
url |
string |
Renders a link to the wish list for each person in the user's active groups.
Renders all of the items wished for by the user whose id appears in the url parameters.
Returns the user object if the user ID stored in the session is valid. Otherwise, it returns a 401 with a message of Unauthorized
.
Returns the user object if the user provided credentials that match a user in the database.
Returns a message of User logged out
on successful logout.
Returns the new user object if the user provided all of the information required to create a new user account.
Returns the updated user object if the form was successfully validated.
Returns all of the gifts associated with the user's group IDs.
Returns the newly created gift object if the form was successfully validated.
Returns the updated gift object if the form was successfully validated.
Returns a message of Delete successful
if the specified gift was successfully removed from the database.