Bookmark/collection use cases:
House owners and designers can both create bookmarks/collections. The collections'
names will be like living room, bedroom, kitchen, curtains, lights, study room,
gym, etc. When a user clicks on the New Collection button, he/she can add multiple
images, give the name of the collection, and add a description to create a
collection.
When the Living room (collection) is selected, a user clicks on the Add Image
button, and he/she can upload an image under the living room collection It will be
added, and when he/she uploads the image, he can add tags like carpet, wall
texture, picture frame, etc. In the search input field, he/she can search by tags
to see the photos related to the tags. Users can delete a bookmark and rename the
collection name.
Bookmark schema:
{
_id: mongoose_object_id,
userid: howeowner/designer id,
title: name of the bookmark,
description: caption,
images: array
[
{
assetname: string,
tags: [string]
}
],
posted_date: timestamp
}
1) Create a bookmark/collection: POST
/bookmarks/create-bookmark
Name, description, or caption of the bookmark, and add images.
2) Add an image to an existing collection/update bookmark: PUT
/bookmarks/:bookmarkid
Here, the user can add an image under the collection and add tags. The user can
rename the bookmark name and also update the description.
3) Search images by tags: GET
/bookmarks/:bookmarkid/images/search?tags=carpet,wall frame
The user can search based on the tags under the collection/ bookmark.
5) delete bookmark: DELETE
/bookmarks/:bookmarkid
Future use case:
The user can delete each image