Skip to content

Conversation

@mrjoshuap
Copy link
Contributor

Description

This PR introduces an enhanced admin dashboard with comprehensive statistics and metrics for MediaCMS administrators. The dashboard provides real-time insights into media content, user activity, engagement metrics, content moderation, and system health.

A picture is worth a thousand words.

Screenshot 2025-12-23 at 15 46 04

Key Features:

  • Media Overview: Total media count, encoding status breakdown, media by type (video/audio/image/pdf), upload trends (7/30 days), and items requiring review
  • Content Moderation: Reported media tracking, recent reports (7 days), unreviewed content, and urgent review alerts
  • Engagement Metrics: Total comments, likes/dislikes, most liked/viewed media, and recent comment activity
  • User Statistics: Total users, recent registrations (7/30 days), top uploaders, active users, and pending approvals
  • System Health: Encoding queue status, encoding failures, total channels/categories/playlists

Technical Changes:

  • Custom admin index template (templates/admin/index.html) with statistics dashboard
  • Statistics calculation module (admin_customizations/admin.py) with time-based metrics
  • Registered MediaAction model in admin for viewing user actions (likes, reports, etc.)
  • Enhanced admin app list customization with improved organization and filtering
  • Incudes new manage.py option to generate fake data -- useful for testing, see python manage.py populate_fake_media

Steps

Pre-deploy

  • Review admin dashboard statistics calculations for performance impact
  • Verify MediaAction admin interface is accessible and functional
  • Test admin dashboard loads correctly with various data scenarios

Post-deploy

  • Verify admin dashboard displays correctly at /admin/
  • Confirm all statistics are calculating accurately
  • Test navigation links from dashboard statistics to filtered admin views
  • Monitor performance impact of statistics calculations on admin page load

Here's a video that shows the update in action:

mediacms-admin-dashboard-smaller.mp4

mrjoshuap and others added 7 commits December 22, 2025 20:52
- Implement custom admin index view with statistics calculation
- Display media, moderation, engagement, user, and system metrics
- Add clickable links to filtered admin views
- Fix reverse relation name bug (use media_set instead of media)
@khwolf
Copy link

khwolf commented Dec 26, 2025

Haven't had time to test myself, but the video looks like it is something really helpful!
Great work! Thank you!

@mrjoshuap
Copy link
Contributor Author

I'd be very interested in what other things might be useful for the dashboard. I'm sort of out of ideas. I was also trying not to add any model changes or things that might break existing installs.

Let me know if there is something interesting to consider.

@mrjoshuap
Copy link
Contributor Author

In case the video doesn't render here...

https://mrjoshuap.com/mediacms/mediacms-admin-dashboard-smaller.mp4

@mrjoshuap
Copy link
Contributor Author

Alright, since I needed a simple instance to do some testing with the mobile app, I decided to stand up a MediaCMS instance dedicated to it and figured I'd put the videos there. The link above should still work, but now it's in an instance so you won't have to download it.

https://demo.mediacms.app/view?m=G3TuFuVnu

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants