proitlab
|
2b95be3091
|
T13: produksi web dengan gunicorn + WAL (gunicorn.conf.py, DASH_WORKERS, V12)
|
2026-08-04 16:40:16 +07:00 |
|
proitlab
|
0374f9f4c2
|
responsive: perbaikan wrap timestamp & bobot panjang di mobile
|
2026-08-04 16:31:08 +07:00 |
|
proitlab
|
205ad35c70
|
T9-T12: env config + live owner search + responsive (§V11, I.env, I.web)
- config.py: env/.env (python-dotenv), defaults = konstanta lama; get_voters & dashboard pakai config
- dashboard: ?q= server filter + /api/search JSON (substring, LIKE-escape, rank global via correlated count)
- static/app.js: debounced live search; degrades to GET ?q=
- static/style.css: input search + responsive (1024/768/480), list→kartu berlabel di mobile
- test_dashboard: search/API/rank-global/config tests; .env.example; .env gitignored
|
2026-08-04 16:23:26 +07:00 |
|
proitlab
|
0b3a86aad2
|
T6-T8: web dashboard spec-list (§V10, I.web, I.db)
- dashboard.py: Flask read-only, paged 50/page, ORDER BY staked DESC
- templates/index.html + static/style.css: DESIGN.md Bugatti austere tokens
- test_dashboard.py: oracle (ordering, paging, read-only)
- DESIGN.md style guide (was untracked)
|
2026-08-04 16:08:08 +07:00 |
|
proitlab
|
c5e30a4785
|
T1-T5: Python voter fetcher (§V1-9)
- get_voters.py: scan Vexanium voters table (vexcore), retry/paginate,
filter databisnisid single-vote + stake ≥1000 VEX, store weight verbatim,
daily-replace SQLite snapshot (owner PK, scanned_at)
- V8/V9 + test_get_voters.py (oracle, §V1-9)
- SPEC.md, AGENTS.md, requirements.txt
|
2026-08-04 15:56:19 +07:00 |
|