thankful icon indicating copy to clipboard operation
thankful copied to clipboard

Explain the architecture

Open ErikBjare opened this issue 6 years ago • 0 comments

Components:

  • WebExtension that collects usage data and provides the UI
  • [optional] A local ActivityWatch instance to get more usage data (such as applications, listened to Spotify tracks, Chromecast history)

These are the parts needed:

  • Data sources
    • Activity
      • [x] Time spent
        • [x] From web extension
        • [ ] Alternatively: import from ActivityWatch
      • Thanks/likes/favorites/olympic scoring (see #1)
    • Relationships
      • Which creator does this activity/content belong to?
        • [x] YouTube: by crawling the active video for creator URL in a content script.
    • Manual entry of any creator/project not automatically detected
  • Data processing
    • How much time is spent on each creator?
    • Computes (meta)data
      • For creators: How much time spent on each given creator?
      • For activities: Classify/categorize/label/tag activities by category or
    • Scoring
      • Manual payment by the user is the most basic implementation (implemented as of 2018-06-21)
      • Automatic scoring could approximate who should get how much
        • Playing around in https://github.com/SuperuserLabs/thankful/pull/24
    • Maps a creator to a payment addressGathers info about payment methods (looks up donation addresses for creators, somehow #23)
  • Payment
    • Create, sign, and publish transactions for outstanding payments
      • ~~Early version might require external wallet software such as MyEtherWallet for signing transactions.~~ (Fixed in #12)

It would be nice to map these out in a neat diagram or something, might help explain how it works.

ErikBjare avatar Apr 14 '18 17:04 ErikBjare