Skip to content

Feature: Project Lifecycle Management Detail Page#79

Open
vivek0369 wants to merge 5 commits intoNexGenStudioDev:masterfrom
vivek0369:feature/project-lifecycle-management-detail-page
Open

Feature: Project Lifecycle Management Detail Page#79
vivek0369 wants to merge 5 commits intoNexGenStudioDev:masterfrom
vivek0369:feature/project-lifecycle-management-detail-page

Conversation

@vivek0369
Copy link
Copy Markdown
Contributor

Overview

Implement a fully functional, role-aware Project Detail Page that serves as the central execution and evaluation layer for projects. The page should support the complete project lifecycle including viewing, submission, judging, moderation, and activity tracking with a modern glassmorphism dark-mode UI.


✨ Features to Implement

1. Routing Setup

Add a protected route:

/projects/:projectId

under the /org layout in App.tsx.

Example:

/org/projects/proj-123

2. Mock API Service

Create:

src/features/ProjectDetail/services/mockProjectApi.ts

The service should simulate backend APIs with artificial delays and mock data storage.

Required APIs

  • getProject(projectId)

    • Fetch full project details and nested relationships.
  • submitProject(projectId)

    • Transition project state from DraftSubmitted.
  • scoreProject(projectId, scoreData)

    • Allow judges to evaluate projects.
    • Automatically calculate total score.
  • moderateProject(projectId, action)

    • Approve or reject project submissions.
  • deleteProject(projectId)

    • Remove project from the mock store.

🎭 Role-Based UI Behavior

👨‍💻 Participant View

  • Can edit project while in Draft state.
  • Can submit project.
  • View current project status.

⚖️ Judge View

Display a dedicated Judge Scoring Panel:

  • Innovation score
  • Technical Complexity score
  • Design/UX score
  • Impact score
  • Auto-calculated score out of 40
  • Feedback textarea
  • Smooth glassmorphism UI with sliders

🛡️ Organizer/Admin View

Display Moderation Panel:

  • Approve Project
  • Reject Project
  • Delete Project

📌 Core UI Sections

🔹 Header Panel

  • Dynamic project status badges:

    • Draft
    • Submitted
    • Under Review
    • Approved
    • Rejected

🔹 Project Overview

  • Description
  • Tech stack tags
  • Repository link
  • Demo link

🔹 Team Section

  • Team member avatars
  • Names and roles

🔹 Activity Timeline

Vertical timeline showing:

  • Project creation
  • Submission events
  • Judge scoring
  • Moderation actions
  • Actor name + timestamp

🎨 UI/UX Requirements

  • Rich aesthetics
  • Dark mode glassmorphism design
  • Smooth transitions and hover effects
  • Responsive layout
  • Modern dashboard-style interface

✅ Validation & Edge Cases

  • Disable buttons during API requests
  • Prevent invalid actions based on role/state
  • Loading spinner while fetching data
  • Proper empty/error states
  • Invalid projectId handling

🧪 Testing Instructions

Run:

npm run dev

Visit:

/org/projects/proj-123

Use the temporary role switcher to test:

  • Participant
  • Judge
  • Organizer
  • Admin

Verify:

  • Role-aware rendering
  • State transitions
  • Scoring logic
  • Moderation workflow
  • Activity updates

📂 Suggested Structure

src/features/ProjectDetail/
│
├── components/
├── pages/
├── services/
├── hooks/
├── types/
└── utils/

🏷️ Suggested Labels

  • enhancement
  • frontend
  • ui/ux
  • role-based-access
  • dashboard
  • hacktoberfest
  • nsoc26

🎯 Expected Outcome

A production-style project lifecycle management page with:

  • Role-aware permissions
  • Interactive judging system
  • Moderation workflow
  • Timeline tracking
  • Modern responsive UI
  • Fully simulated API behavior

🏷️Labels

NSoC26 Frontend Feature enhancement


🔗 Related Issues

Closes #20

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a comprehensive Task Management system and a detailed Project View feature, including RBAC via a PermissionProvider, new routing, and various UI components. Feedback focused on performance optimizations, such as memoizing sorted lists and reducing redundant array filtering. Additionally, logic improvements were suggested for the scoring system, and UI consistency was addressed by recommending custom modals instead of native browser alerts.

Comment thread src/features/MemberTask/components/task/TaskDetail.tsx
Comment thread src/features/ProjectDetail/components/ScorePanel.tsx Outdated
Comment thread src/features/ProjectDetail/components/ScorePanel.tsx
Comment thread src/features/ProjectDetail/components/Timeline.tsx Outdated
Comment thread src/features/ProjectDetail/pages/ProjectDetailPage.tsx
vivek0369 and others added 3 commits May 10, 2026 16:56
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@abhishek-nexgen-dev
Copy link
Copy Markdown
Member

@vivek0369 please check the master branch one please sync the project so that you got the latest code once you got the latest code merge it with your branch and push your changes again

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.

Project Detail View Page (Full Lifecycle — View + Submit + Judge + Moderate)

2 participants