Skip to content

🚀 Feature Request: Build Admin Project Management Page #38

@abhishek-nexgen-dev

Description

@abhishek-nexgen-dev

Create a complete Projects Management Page for the Commdesk Admin Panel.

This page will help admins manage all platform projects from one place. Admins should be able to:

  • view all submitted projects
  • search and filter projects
  • approve or reject submissions
  • assign judges
  • monitor project reviews
  • perform bulk actions
  • track project activity

The page should be scalable, clean, responsive, and easy to use for large hackathons or events with many submissions.


🎯 Goal

Build a production-ready admin page:

/admin/projects

that works as the central dashboard for project moderation and management.


🏗️ Main Features


1. Projects Table

Create a modern table to display all projects.

Required Columns

  • Project Name
  • Team Name
  • Event Name
  • Track / Category
  • Status
  • Average Score
  • Assigned Judges
  • Submission Date
  • Last Updated
  • Actions

2. Search Functionality

Admins should be able to search projects by:

  • project name
  • participant name
  • team name
  • event name
  • tech stack

Features

  • debounced search
  • instant results
  • fuzzy matching

3. Advanced Filters

Add filters for easier project management.

Status Filters

Draft
Submitted
Under Review
Approved
Rejected
Suspended
Flagged

Other Filters

  • event filter
  • track/category filter
  • score range
  • submission date
  • assigned/unassigned judges

4. Sorting

Support sorting by:

  • newest projects
  • recently updated
  • highest score
  • lowest score
  • alphabetical order

5. Bulk Actions

Admins should be able to select multiple projects and perform actions.

Required Bulk Actions

  • approve selected projects
  • reject selected projects
  • suspend projects
  • assign judges
  • delete projects
  • export CSV

6. Project Moderation Actions

Each project row should support:

  • View Project
  • Approve
  • Reject
  • Suspend
  • Delete
  • Assign Judges
  • Hide from Public View

7. Analytics Summary

Add a summary section at the top of the page.

Show Metrics

Total Projects
Submitted Projects
Approved Projects
Rejected Projects
Pending Reviews
Average Score
Flagged Projects

8. View Modes

Support:

Table View

Best for moderation and management.

Grid View

Best for visual browsing and showcase.


9. Pagination & Performance

The page should handle large datasets efficiently.

Requirements

  • server-side pagination
  • optimized queries
  • lazy loading
  • caching support

🔐 Permissions

This page should only be accessible to admins.

RBAC Rules

Admin → Full Access
Non-Admin → Access Denied

⚙️ API Requirements

Get Projects

GET /api/v1/admin/projects

Query Example

?page=1
&limit=20
&status=submitted
&search=dashboard
&sort=score_desc

Bulk APIs

POST /api/v1/admin/projects/bulk-approve
POST /api/v1/admin/projects/bulk-reject
POST /api/v1/admin/projects/assign-judges
DELETE /api/v1/admin/projects/bulk-delete

⚠️ Edge Cases

Handle:

  • deleted projects
  • invalid permissions
  • duplicate actions
  • failed API requests
  • empty states
  • no search results

🎨 UI/UX Requirements

The page should feel:

  • modern
  • fast
  • responsive
  • clean
  • scalable

Important UI Features

  • sticky table headers
  • loading skeletons
  • responsive layout
  • status badges
  • filter sidebar
  • dark mode support

📂 Image Ref for Dark Them

Image Image Image Image

🧪 Test Cases

  • Search works correctly
  • Filters work correctly
  • Sorting works correctly
  • Bulk actions work correctly
  • Pagination works correctly
  • Admin permissions enforced
  • Responsive UI works properly

✅ Definition of Done

This issue is complete when:

  • admin can manage all projects
  • filtering and search work properly
  • bulk actions work
  • moderation system works
  • pagination is optimized
  • responsive UI is implemented
  • permissions are secure

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions