Skip to content

Create leaderboard #2

Description

@faultables
  1. Get list members
async function getMembers () {
  const DATA_SOURCE = 'https://raw.githubusercontent.com/evilfactorylabs/mbote/master/src/member.json'
  const req = await fetch(DATA_SOURCE)
  const json = await req.json()
  return json.rss
}
  1. Get list posts
async function getPosts () {
  const DATA_SOURCE = 'https://raw.githubusercontent.com/evilfactorylabs/mbote/master/src/cached.json'
  const req = await fetch(DATA_SOURCE)
  const json = await req.json()
  return json
}
  1. Group it based on normalized URL
async function groupPosts () {
  const posts = await getPosts()
  const members = await getMembers()

  const createKeyFromMembers = members.map(member => {
    const url = member.rss
    const normalizedUrl = new URL(url).hostname
    return { url: normalizedUrl }
  })

  const groupPostByMember = createKeyFromMembers.map(member => {
    const grouped = []

    posts.map(post => {
      if (post.link.includes(member.url)) {
        grouped.push({ ...post })
      }
    })

    return grouped
  })

  return groupPostByMember
}
  1. TODO:
// 0. This code is not tested, just my imagination!
// 1. I believe there is an easy way rather than this
// 2. Group it based on normalizedURL

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions