onecrayon / onecrayon/api.ashes.live

Request: "Likes"

Open
#96 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
13
Forks
7
Avg merge
7h 39m
Merged PRs (30d)
1

Description

I'm on the fence about this. On the one hand, I don't personally see much value to these (particularly given the amount of development time that they'd potentially require). On the other, they're a very common request.

Some possibilities:

  • Allow arbitrary "reactions" to stuff (similar to Discord/Slack emoji reactions, but probably restricted to the Ashes iconography), and then implement filtration and sorting based off the number of any given reaction. UPSIDE: this is my ideal use-case. DOWNSIDE: really complicated to implement, particularly the sorting.
  • Allow people to flag decks with a heart icon or something. This could be a simple one-to-many relationship table to track which users have flagged a given deck, along with a column in the Deck table that tracks the total number for easy sorting. UPSIDE: provides the basic "like" functionality, but also provides the possibility to bookmark things (and could show public bookmarks on the user profile page), which is functionality that I'd actually want to use myself. DOWNSIDE: really simplistic, and it's affected by all my reasons for disliking simple numerical likes (e.g. to properly sort it you really need to weight them based on when the like was created, or else you're liable to get old monsters that dominate the top of the list and make the whole thing worthless)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by resolving whether the project wants arbitrary reactions or simpler likes/bookmarks, then define the required filtering, sorting, and user-facing behavior; done means the selected design is implemented and its behavior is verified.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.