Skip to content

BONUS! Ideate and implement the functionality of Private tags. #11

@letsintegreat

Description

@letsintegreat

Important: This is a BONUS issue, solving this will fetch you 40 to 50 points!

While creating a new tag, we are storing if this tag is public or private, but after that we are not using this property anywhere. The expected behavior is that: Users can self-assign public tags to themselves freely. But they will have to request to get private tags.

Therefore, this is the list of tasks which need to be taken care of.

  • While creating a new private tag, we also have to store the owner of that private tag who is going to attend the requests to get this private tag. Therefore alter the tag model accordingly.
  • In all_tags_screen there should be some distinction between public and private tags.
  • A user should be able to create a request to join a private tag.
  • The owner of a private tag should be able to accept/reject requests for that private tag.
  • Any case the owner decides to reject the request, they can also add a reason for rejection.
  • After the owner has attended the request, next time the requestee opens the app, they should be notified via a SnackBar or an AlertDialog with the following message: Your request to assign [tag-name] has been approved/rejected. And if the reason of rejection is given, append with message with: With the reason being: [reason].

If you would like to be assigned to this bonus issue, you will have to explain in brief how you are going to go about it. You might need to create a new model for requests, and also you need figure out how you are going to structure the database. You also need to design a new page where the owner will approve/reject requests.

As this is a high points issue, I don't want this to be inactive after assignment, you will have to show your progress in the discord channel on a regular basis. Your progress may be slow, that is not the point, I just need to be sure that you are still working on the issue. So just brief me about your progress on the discord channel regularly, no matter how little it is.

Ask to be assigned in the comments below before starting to work on this issue. Stick to the contribution guidelines as mentioned in the README file.

Metadata

Metadata

Assignees

Labels

BONUSSolving this issue can get you points as high as 50Codepeak22enhancementNew feature or requesthardWorth 20 points

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions