Skip to content

feat: DevPath Constitution roles, Admin panel and Pathway leaderboards - #811

Merged
devpathindcommunity-india merged 2 commits into
masterfrom
feature/admin-pathway-overhaul
Jul 8, 2026
Merged

feat: DevPath Constitution roles, Admin panel and Pathway leaderboards#811
devpathindcommunity-india merged 2 commits into
masterfrom
feature/admin-pathway-overhaul

Conversation

@Aditya948351

Copy link
Copy Markdown
Owner

Description

Fixes # (issue)

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

  • Local testing
  • Vercel Preview Deployment

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings or errors
  • I have checked that the "DevPath Bharat" branding remains intact

@devpathindcommunity-india
devpathindcommunity-india merged commit 1f02954 into master Jul 8, 2026
@devpathindcommunity-india
devpathindcommunity-india deleted the feature/admin-pathway-overhaul branch July 8, 2026 17:15

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR introduces a new “DevPath Constitution” role taxonomy for the Team page, adds a new Admin dashboard for managing “team_members” and awarding points, and replaces the existing Pathway page content with monthly leaderboards sourced from Firestore.

Changes:

  • Refactors team directory data to new role categories (Founder/Core Leadership/Technical Lead/City Lead, etc.) and updates the Team page UI accordingly.
  • Reworks the Pathway page into a “Monthly Leaderboards” experience backed by a new team_members Firestore collection.
  • Adds a new /admin page for managing team_members and assigning monthly/total points, alongside new Firestore rules for team_members.

Reviewed changes

Copilot reviewed 8 out of 9 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
src/data/team.ts Updates team member taxonomy and seed data structure to new role categories.
src/app/team/page.tsx Replaces the previous Team page implementation with a new sectioned UI driven by TeamCategory.
src/app/pathway/page.tsx Replaces the previous pathway/points explainer with monthly leaderboards sourced from team_members.
src/app/admin/page.tsx Adds a new Admin dashboard for CRUD on team_members and point assignment.
firestore.rules Adds Firestore access rules for the new team_members collection.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread firestore.rules
Comment on lines +155 to +159
// ─── Team Members ────────────────────────────────────────────────────────
match /team_members/{memberId} {
allow read: if true;
allow write: if true;
}
Comment thread src/app/admin/page.tsx
Comment on lines +68 to +72
const docRef = doc(db, 'admin_keys', selectedRole);
const docSnap = await getDoc(docRef);

if (docSnap.exists() && docSnap.data().key === keyInput) {
onLogin({ role: selectedRole, key: keyInput });
Comment thread src/app/admin/page.tsx
Comment on lines +218 to +219
const pts = parseInt(points, 10);
if (isNaN(pts)) throw new Error('Invalid points');
Comment thread src/app/pathway/page.tsx
UserCheck,
} from 'lucide-react';
import { useAuth } from '@/context/AuthContext';
import { collection, getDocs, query, where, orderBy } from 'firebase/firestore';
Comment thread src/app/pathway/page.tsx
Comment on lines +39 to +43
// We sort by monthlyPoints descending
const tech = validMembers
.filter(m => m.role === 'Technical Contributor')
.sort((a, b) => (b.monthlyPoints || 0) - (a.monthlyPoints || 0));

Comment thread src/app/team/page.tsx
Comment on lines +31 to 40
const SocialLink = ({ href, icon: Icon }: { href: string; icon: any }) => (
<a
href={href}
target="_blank"
rel="noopener noreferrer"
className="p-2 rounded-full bg-white/5 border border-white/10 hover:bg-white/10 hover:border-white/20 transition-all text-slate-300 hover:text-white"
>
<Icon className="w-4 h-4" />
</a>
);
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.

3 participants