## Summary
Finish first-party public pageview analytics that was left in progress (stashed as `wip analytics`).
## Scope
- Add `PageView` model + migration for successful public GET hits
- Wire `PublicPageViewMiddleware` (skip portal/admin/api/static/etc.)
- Expose pageviews + top pages on the portal analytics report
- Admin registration + tests
## Acceptance criteria
- [ ] Public marketing page GETs create `PageView` rows
- [ ] Portal/admin/API/static/etc. are not recorded
- [ ] Analytics report shows last-30-day pageviews and top pages
- [ ] Migration applies cleanly; tests cover recording + report
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Finish first-party public pageview analytics that was left in progress (stashed as
wip analytics).Scope
PageViewmodel + migration for successful public GET hitsPublicPageViewMiddleware(skip portal/admin/api/static/etc.)Acceptance criteria
PageViewrowsPR opened:
feat/3-public-pageview-analytics→main.