[GSoC Project Idea 2026] Revamp Fedora Badges project with modern fullstack architecture and dedicated MCP support

  • Title of the project:
    Revamp Fedora Badges project with modern fullstack architecture and dedicated MCP support

  • Description:
    This project aims to lower the barrier of entry to the Fedora Project community ecosystem by providing means to recognise contributors and incentivise contributions with an overall architectural revamp and dedicated MCP support.

  • Skills needed:
    Python, Git, NodeJS, ReactJS, MCP, AI etc.

  • Deliverables:

    • Source code repository:
      Contributions against existing repositories associated with the Fedora Badges project (for instance, Tahrir, Tahrir API, Fedbadges, Artworks) and those belonging to the general Fedora Project community infrastructure (for instance, Fedora Messaging, Tiny Stage etc.) is required.

    • Documentation:
      Updated contributor and community documentation, API reference for REST endpoints, inline documentation for crafted components, local debugging and service deployment, quality assurance and usecase scenarios, and model connection and MCP utility would be sought.

    • Demonstration/Prototype:
      A fully functional development instance with all frontend routes and backend paths implemented, demonstrating improvements over the existing state through complete workflows from both community and maintainer personas, and functional enhancements in manual and MCP-powered usecases.

    • Testing & Evaluation Results:
      A comprehensive testing suite covering both frontend routes and backend paths, meaningfully improving coverage from the existing state as far as practically possible, would be sought. This would continue to be evolved upon by the participating contributors as time progresses.

    • Deployment:
      An updated containerised setup (OCI/Podman) deployed to (ideally) production or (at least) staging environment by the end of the mentoring period, with related health checks and configuration documented, enough to be reproducible both in local environments and other infrastructure.

  • Estimated/expected planning per week (12 weeks total):
    An estimated 12-week timeline outlines major milestones and helps manage progress towards completing the project. Here is a sample breakdown:

    1. Weeks 1 and 2 - Mentee Project Onboarding and Initial Codebase Familiarisation:

      • Initialise the development environment using Vagrant, Ansible, Podman and Libvirt provisioning
      • Study the existing Flask backend (endpoints, views, utilities, auths, etc.) and React frontend
      • Review open TODOs, modularisation checks, temporary workarounds and technical debt in the codebase
      • Finalise the scope and prioritisation of the deliverables with the mentors before proceeding
    2. Weeks 3 and 4 - Implement Frontend Codebase and Strengthen Authentication Requirements:

      • Begin with stub frontend routes and include corresponding React components with custom theming
      • Coordinate with the Fedora Design team to understand usability heuristics and accessibility concerns
      • Meet access control requirements throughout the backend for session-based user identification
      • Extract the pinned email domain requirement to expand usability across various email providers
    3. Weeks 5 and 6 - Harden Backend Codebase and Prototype MCP Interactions:

      • Design the architecture for an MCP server to expose data and operations to various AI assistants
      • Define MCP resources for entities like badges, users, assertions, invitations, authorisations, etc.
      • Plan MCP tools for various planned functionalities by performing a persona survey, community-wide
      • Implement an initial core MCP server using the Python MCP SDK with read-only resources/endpoints
    4. Weeks 7 and 8 - Expanding Prompt Influence with Curated Write Operations:

      • Introduce authenticated MCP tooling for various write operations with manually curated review queue
      • Implement MCP prompts for common workflows with input analysis/validation and error handling
      • Integrate OIDC-based authentication to unify the MCP server's authentication model with the frontend
      • Explore rate-limiting areas and write integration tests for the backend code developed so far
    5. Weeks 9 and 10 - Staging Deployment, Quality Assurance and Automated Awarding:

      • Prepare/enhance a containerised deployment for the unified stack for local debugging purposes
      • Validate deployment against the existing staging instance of Fedora Badges before replacing it
      • Prepare end-to-end community-wide limited testing of MCP client interactions with the backend
      • Coordinate on streamlining the creation and maintenance of automated event-based awarding
    6. Weeks 11 and 12 - Exhaustive Documentation, Added Polish and Final Demonstration:

      • Write/review community-facing and maintainer-facing documentation for both frontend and backend
      • Evaluate the usefulness of the documentation from a Fedora Infrastructure contributor before changes
      • Address continuously supplied feedback from mentors and members of Fedora Infrastructure
      • Document a blogpost summarizing the experience after having progressed the production deployment
  • Associated resources:

    • Update on Fedora Badges Revamp Project - Akashdeep Dhar
    • स्वातंत्र्य Milestone on Fedora Infrastructure

Please let me know if more information is needed from my end.

Edited Feb 10, 2026 by Akashdeep Dhar
Assignee Loading
Time tracking Loading