awesome-selfhosted / awesome-selfhosted-data

machine-readable data for https://awesome-selfhosted.net
https://awesome-selfhosted.net
Other
428 stars 273 forks source link

Sort By Options (Popularity, Date, Etc) #77

Open ShakataGaNai opened 1 year ago

ShakataGaNai commented 1 year ago

It would be nice to have the option to sort by popularity (ex star count) and possibly other criteria, such as last-update date.

oOflyeyesOo commented 1 year ago

Newly added, not updated would be nice to see new projects.

kareemlukitomo commented 1 year ago

https://im3.ezgif.com/tmp/ezgif-3-d8f0ec7707.gif

POC for sorting, I am currently learning how to compile this repo (to append this custom .js file), apologies first time contributing :D

Question: How to sort by popularity (but not with stars)? I assume we may decide on some new attribute/field to maintain in each software's YAML?

*edit: possibly related to "Contributor" in https://github.com/awesome-selfhosted/awesome-selfhosted-data/issues/35#issue-1817315600

nodiscc commented 11 months ago

How to sort by popularity (but not with stars)?

Currently stargazers_count is the only "popularity"-related metric, and I'm very wary of using it as sort key, because

  1. it encourages centralization on a proprietary service
  2. stars count can easily be manipulated
  3. It's not actually a good metric since many serious and hugely popular projects host their source code and project management tools outside of github (sorting by stars would relegate them at the end of the list, which is kind of unfair...)
  4. the number of stars does not necessarily reflect the number of active users of the software (for example I use github stars as kind of "bookmarks" for projects that look interesting which I might check out later)

https://analyzemyrepo.com/ has some interesting ideas about popularity/quality metrics, but it also only works for github repositories.

It is planned to gather stars count for projects hosted on forges that also have this feature (gitlab, gitea...) but due to network effects, projects hosted on github will always appear more popular (people aren't going to create accounts on other forges just to star projects)

I am currently learning how to compile this repo (to append this custom .js file),

To get started, run make install export_html and check the html/html/ output directory. You need make git python3-venv python3-pip in a Linux environment (untested on other platforms).

But don't bother too much, until the questions above are solved.