81 lines
1.8 KiB
Markdown
81 lines
1.8 KiB
Markdown
|
|
# features
|
|
|
|
* register
|
|
* list
|
|
* filter
|
|
* stats panel
|
|
* stats collector
|
|
* failure counter
|
|
|
|
|
|
# MVP
|
|
|
|
- [x] chore: data model
|
|
- [ ] model : add "s" to failure
|
|
- [ ] model : add "s" to folloing
|
|
- [ ] add "blacklisted"
|
|
- [x] data migration scripts
|
|
- [ ] homepage
|
|
- [x] form to register an instance
|
|
- [ ] check for duplicates
|
|
- [ ] grab first stats : version, users, groups, events
|
|
- [ ] if fail, set failure to 1
|
|
- [x] confirmation page
|
|
- [ ] find a way to populate location
|
|
- [x] instances list, no pagination
|
|
- [ ] abuse link
|
|
- [ ] scaper
|
|
- [x] 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
|
|
- [x] insert new stats
|
|
- [x] update instances info
|
|
- [ ] stats page
|
|
- [x] big numbers
|
|
- [x] total Instances
|
|
- [x] total Users
|
|
- [x] total Groups
|
|
- [x] total Events
|
|
- [x] over time
|
|
- [x] instances over time area chart
|
|
- [x] users over time area chart
|
|
- [x] events over time area chart
|
|
- [x] 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
|
|
- [x] package
|
|
- [x] docker image with : s6 + crond + python + sqlpage
|
|
- [ ] deploy on `beta-instances.mobilizon.org`
|
|
- [x] DNS -> LB3
|
|
- [x] HC ping
|
|
- [x] upload image
|
|
- [x] docker compose config
|
|
- [x] upload database
|
|
- [x] start service
|
|
|
|
|
|
# impl
|
|
|
|
## stack
|
|
|
|
1) sqlpage
|
|
|
|
* webapp: sqlpage
|
|
* cron : ?
|
|
|
|
2) python web framework
|
|
|
|
django / flask / microdot / webpy
|
|
|
|
|