dekkerglen / CubeCobra

An open source web application for building, managing, and playtesting Magic the Gathering cubes.
https://www.cubecobra.com
Apache License 2.0
193 stars 120 forks source link

Add support for a "Trending" cubes listing #2461

Open nafarlee opened 4 months ago

nafarlee commented 4 months ago

What would you like to be able to do?

I would like to be able to view a sorted list of cubes based on some "trend score" calculated over some "rolling period".

The "trend score" here can be defined in a few ways, but the option that seems to most attractive to me is as a percentage of the number of followers gained since the start of the 'rolling period'. As an example, a cube that started the "rolling period" with 100 followers and gained 5 since would have a trend score of 5%. A cube that started with 10 and gained 1 since would have a trend score of 10%.

The "rolling period" would be some period of time defined as the last X days/weeks/months. This could either be a single fixed-option, or a (bounded) input in the UI/API. If this is to be a single fixed-option, one week, two weeks, or one month all seem like reasonable options

This sorted trending listing could appear on either:

Describe how you would use the feature

I would use this feature to discover cubes that are quickly gathering interest (at least, relative to the interest they already had). With CubeCobra's current feature set, it is hard to discover new cubes that aren't featured and don't have a large number of followers. Looking at some of the existing listings on the /explore page as an example:

I think a "Trending" cube listing could serve as a good complement to these. It would allow fun/interesting cubes that are too niche/new to be surfaced, and contribute to a more diverse cube ecosystem.

Additional context

First, I am willing to work on this myself. This will almost certainly require a new DynamoDB index to be created, but it doesn't seem like those are managed within this repository. I figured I would start the conversation with this issue.

Second, I could understand not wanting to pursue this if there are concerns it will cannibalize the monetization of "Featured" cubes. I predict that "Trending" cubes would only rarely overlap with "Featured" cubes, and that invested supporters would continue to support regardless. It is hard to say definitively.

Thank you for reading this far, and for all the hard work on CubeCobra!