Skip to content

Commit 9e3a063

Browse files
authored
feat: replacing explore top sections with leaderboards (IN-838) (#3595)
Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
1 parent 26eac14 commit 9e3a063

7 files changed

Lines changed: 140 additions & 151 deletions

services/libs/tinybird/datasources/top_member_org_copy_ds.datasource

Lines changed: 0 additions & 13 deletions
This file was deleted.

services/libs/tinybird/pipes/leaderboards_copy.pipe

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ SQL >
3434
UNION ALL
3535
SELECT *, 0.0 as previousPeriodValue, 'resolution-rate' as leaderboardType
3636
FROM leaderboards_resolution_rate
37+
UNION ALL
38+
SELECT *, 'members' as leaderboardType
39+
FROM leaderboards_members
40+
UNION ALL
41+
SELECT *, 'organizations' as leaderboardType
42+
FROM leaderboards_organizations
3743

3844
TYPE COPY
3945
TARGET_DATASOURCE leaderboards_copy_ds
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
DESCRIPTION >
2+
Leaderboard ranking members by total number of contribution activities. Counts all
3+
contribution activities (collaboration or code contributions) per member. Compares the
4+
current period (last 12 months) with the previous period (12-24 months ago).
5+
6+
NODE leaderboards_members_data
7+
DESCRIPTION >
8+
Retrieves all members from the populated datasource
9+
10+
SQL >
11+
SELECT id, displayName, avatar FROM members_sorted
12+
13+
NODE leaderboards_member_activity_types
14+
DESCRIPTION >
15+
Filters activity types to include only collaboration and code contribution activities
16+
17+
SQL >
18+
SELECT activityType, platform FROM activityTypes FINAL WHERE isCollaboration or isCodeContribution
19+
20+
NODE leaderboards_members_current_period
21+
DESCRIPTION >
22+
Counts total contribution activities per member for the last 12 months
23+
24+
SQL >
25+
SELECT memberId, count(*) AS memberActivityCount
26+
FROM activityRelations_deduplicated_cleaned_ds ar
27+
INNER JOIN
28+
leaderboards_member_activity_types at ON ar.type = at.activityType AND ar.platform = at.platform
29+
WHERE memberId != '' AND timestamp >= now() - INTERVAL 12 MONTH AND timestamp < now()
30+
GROUP BY memberId
31+
32+
NODE leaderboards_members_previous_period
33+
DESCRIPTION >
34+
Counts total contribution activities per member for the previous 12 months (12-24 months ago)
35+
36+
SQL >
37+
SELECT memberId, count(*) AS memberActivityCount
38+
FROM activityRelations_deduplicated_cleaned_ds ar
39+
INNER JOIN
40+
leaderboards_member_activity_types at ON ar.type = at.activityType AND ar.platform = at.platform
41+
WHERE
42+
memberId != ''
43+
AND timestamp >= now() - INTERVAL 24 MONTH
44+
AND timestamp < now() - INTERVAL 12 MONTH
45+
GROUP BY memberId
46+
47+
NODE leaderboards_members_results
48+
DESCRIPTION >
49+
Joins member metadata with current and previous period activity counts, ranks by most activities
50+
51+
SQL >
52+
SELECT
53+
row_number() OVER (ORDER BY coalesce(c.memberActivityCount, 0) DESC) as rank,
54+
p.id as id,
55+
'' as segmentId,
56+
p.displayName as name,
57+
'' as slug,
58+
p.avatar as logoUrl,
59+
cast(coalesce(c.memberActivityCount, 0) as Float64) as value,
60+
cast(coalesce(pp.memberActivityCount, 0) as Float64) as previousPeriodValue
61+
FROM leaderboards_members_data p
62+
INNER JOIN leaderboards_members_current_period c ON p.id = c.memberId
63+
LEFT JOIN leaderboards_members_previous_period pp ON p.id = pp.memberId
64+
WHERE c.memberActivityCount > 0
65+
ORDER BY value DESC
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
DESCRIPTION >
2+
Leaderboard ranking organizations by total number of contribution activities. Counts all
3+
contribution activities (collaboration or code contributions) per organization. Compares the
4+
current period (last 12 months) with the previous period (12-24 months ago).
5+
6+
NODE leaderboards_organizations_data
7+
DESCRIPTION >
8+
Retrieves all organizations from the populated datasource
9+
10+
SQL >
11+
SELECT id, displayName, logo FROM organizations FINAL
12+
13+
NODE leaderboards_organizations_activity_types
14+
DESCRIPTION >
15+
Filters activity types to include only collaboration and code contribution activities
16+
17+
SQL >
18+
SELECT activityType, platform FROM activityTypes FINAL WHERE isCollaboration or isCodeContribution
19+
20+
NODE leaderboards_organizations_current_period
21+
DESCRIPTION >
22+
Counts total contribution activities per organization for the last 12 months
23+
24+
SQL >
25+
SELECT organizationId, count(*) AS organizationActivityCount
26+
FROM activityRelations_deduplicated_cleaned_ds ar
27+
INNER JOIN
28+
leaderboards_organizations_activity_types at
29+
ON ar.type = at.activityType
30+
AND ar.platform = at.platform
31+
WHERE organizationId != '' AND timestamp >= now() - INTERVAL 12 MONTH AND timestamp < now()
32+
GROUP BY organizationId
33+
34+
NODE leaderboards_organizations_previous_period
35+
DESCRIPTION >
36+
Counts total contribution activities per organization for the previous 12 months (12-24 months ago)
37+
38+
SQL >
39+
SELECT organizationId, count(*) AS organizationActivityCount
40+
FROM activityRelations_deduplicated_cleaned_ds ar
41+
INNER JOIN
42+
leaderboards_organizations_activity_types at
43+
ON ar.type = at.activityType
44+
AND ar.platform = at.platform
45+
WHERE
46+
organizationId != ''
47+
AND timestamp >= now() - INTERVAL 24 MONTH
48+
AND timestamp < now() - INTERVAL 12 MONTH
49+
GROUP BY organizationId
50+
51+
NODE leaderboards_organizations_results
52+
DESCRIPTION >
53+
Joins organization metadata with current and previous period activity counts, ranks by most activities
54+
55+
SQL >
56+
SELECT
57+
row_number() OVER (ORDER BY coalesce(c.organizationActivityCount, 0) DESC) as rank,
58+
p.id as id,
59+
'' as segmentId,
60+
p.displayName as name,
61+
'' as slug,
62+
p.logo as logoUrl,
63+
cast(coalesce(c.organizationActivityCount, 0) as Float64) as value,
64+
cast(coalesce(pp.organizationActivityCount, 0) as Float64) as previousPeriodValue
65+
FROM leaderboards_organizations_data p
66+
INNER JOIN leaderboards_organizations_current_period c ON p.id = c.organizationId
67+
LEFT JOIN leaderboards_organizations_previous_period pp ON p.id = pp.organizationId
68+
WHERE c.organizationActivityCount > 0
69+
ORDER BY value DESC

services/libs/tinybird/pipes/top_active_contributors.pipe

Lines changed: 0 additions & 21 deletions
This file was deleted.

services/libs/tinybird/pipes/top_active_organizations.pipe

Lines changed: 0 additions & 21 deletions
This file was deleted.

services/libs/tinybird/pipes/top_member_org_copy.pipe

Lines changed: 0 additions & 96 deletions
This file was deleted.

0 commit comments

Comments
 (0)