Changeset d549549 in Klonkt for src/server.js


Ignore:
Timestamp:
06/16/2026 09:41:28 AM (3 months ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
029f047
Parents:
3f893bf
Message:

Statistics module (Phase 3): cookie-free tracking + premium stats page

Counters: posts.view_count, audio_tracks.play_count, stat_daily
(pageviews/day) + stat_visitor_day (unique visitors via daily rotating
salted hash of IP+UA, never stored → no cookie, no consent needed).
StatsService records pageview on home + post-view (skips admins), play on
the initial player stream fetch. /admin/stats (god-only +
premiumUnlocked-gated): cards + 14-day cookie-free bar chart
(visitors/views) + top posts/tracks. Dashboard button is premium-gated.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/server.js

    r3f893bf rd549549  
    4949import adminUpdatesRoutes from './routes/admin-updates.js';
    5050import adminPatreonRoutes from './routes/admin-patreon.js';
     51import adminStatsRoutes from './routes/admin-stats.js';
    5152import circleRoutes from './routes/circle.js';
    5253
     
    241242app.use('/admin/updates', adminUpdatesRoutes);
    242243app.use('/admin/patreon', adminPatreonRoutes);
     244app.use('/admin/stats', adminStatsRoutes);
    243245app.use('/admin', adminRoutes);
    244246app.use('/prutter', prutterRoutes);
Note: See TracChangeset for help on using the changeset viewer.