1
0

1.8 KiB

features

  • register
  • list
  • filter
  • stats panel
  • stats collector
    • failure counter

MVP

  • chore: data model
    • model : add "s" to failure
    • model : add "s" to folloing
    • add "blacklisted"
  • data migration scripts
  • homepage
    • form to register an instance
      • check for duplicates
      • grab first stats : version, users, groups, events
        • if fail, set failure to 1
      • confirmation page
      • find a way to populate location
    • instances list, no pagination
    • abuse link
  • scaper
    • select instances where failure < max_failure
    • for each entry, fetch stats
      • if fail, set failure to min(1, failure+1)
      • if success, set failure = 0
        • insert new stats
        • update instances info
  • stats page
    • big numbers
      • total Instances
      • total Users
      • total Groups
      • total Events
    • over time
      • instances over time area chart
      • users over time area chart
      • events over time area chart
      • groups over time area chart
    • repartition
      • versions pie chart
      • languages pie chart (user weighted ?)
      • location pie chart
  • admin panel
    • authentication (shared secret, oauth ?)
    • list failed domain
    • rescan an instance
    • allow to blacklist a domain
    • remove duplicate stats ; keep one per day per instance
  • package
    • docker image with : s6 + crond + python + sqlpage
  • deploy on beta-instances.mobilizon.org
    • DNS -> LB3
    • HC ping
    • upload image
    • docker compose config
    • upload database
    • start service

impl

stack

  1. sqlpage
  • webapp: sqlpage
  • cron : ?
  1. python web framework

django / flask / microdot / webpy