open-sauced / hot

πŸ•The site that recommends the hottest projects on GitHub.
https://hot.opensauced.pizza
MIT License
418 stars 145 forks source link

Feature: Swap Hot Repositories with Recommendation feed #476

Closed bdougie closed 5 months ago

bdougie commented 1 year ago

Type of feature

πŸ• Feature

Current behavior

Today the hot repositories is hard coded. We should use this endpoint to source recommended projects similar to this endpoint:

https://api.opensauced.pizza/v1/user/recommendations/repos

Suggested solution

Instead of using the same endpoint, we should create a /hot one to showcase 3 projects regardless of interest.

https://api.opensauced.pizza/v1/user/hot/repos

Additional context

We need to open an issue on the API to track this work there. https://github.com/open-sauced/api

Code of Conduct

Contributing Docs

takanome-dev commented 1 year ago

@bdougie I think this is a duplicate of https://github.com/open-sauced/hot/issues/405

bdougie commented 1 year ago

@bdougie I think this is a duplicate of #405

Not entirely. That approach was meant for voting, and the API mentioned above is the better approach.

bdougie commented 5 months ago

This is now possible to do with this endpoint. https://api.opensauced.pizza/v2/histogram/top/stars/new

Instead of showing an infinite scroll of projects, we will now need to only list 100 repos in list, most likely rendering 25 at a time.

Instead of calling Supabase directly:

https://github.com/open-sauced/hot/blob/beta/src/lib/supabase.ts#L95-L122

We will need to add a hook to fetch from the API directly, similar to the way we do it in the app.

https://github.com/open-sauced/app/blob/beta/lib/hooks/useUserRepoRecommendations.ts

github-actions[bot] commented 5 months ago

:tada: This issue has been resolved in version 2.37.0-beta.3 :tada:

The release is available on:

Your semantic-release bot :package::rocket:

github-actions[bot] commented 5 months ago

:tada: This issue has been resolved in version 2.37.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket: