Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Feature (Phase 1): Add 'kind' filter chip row to Directory and opportunity presets (scholarships, open-source, internships)

Cerrado
#81 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Ya se ha fusionado un pull request relacionado.

  • #91 de @rootsiemen — fusionado

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
50/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
typescript
Área
frontend

Línea de trabajo

Start in src/lib/directory-filters.ts, where applyFilters and the faceted-count logic live, then check whether Resource already has a kind field, since the issue depends on Phase 1 data. Next, read src/lib/presets.ts and src/components/directory/directory-client.tsx to see how filters and URL params are wired. Done when applyFilters and countByKind handle kind, the chip bar syncs to ?kind=, the three presets resolve, and src/lib/directory-filters.test.ts passes.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement

Description

Tracked from docs/2026-09-18-improvement-plan.md (§4 Phase 1.6).

Once opportunities (kind: perk | scholarship | fellowship | internship | mentorship | program) are added in Phase 1, the Directory needs a top-level kind chip row above the existing filters so students can switch between All / Perks / Scholarships & Fellowships / Internships / Mentorship / Programs, plus three high-intent SEO preset pages.

Implementation Plan

  1. Filter logic (src/lib/directory-filters.ts):
    • Add kind: string[] to DirectoryFilters.
    • Filter by kind in applyFilters() (respecting skip === "kind" for faceted counts).
    • Add countByKind(resources: Resource[]): Record<string, number>.
  2. Directory UI (src/components/directory/directory-client.tsx):
    • Render a horizontal chip bar above the filter/search controls: All, Perks, Scholarships, Internships, Mentorship, Programs with live facet counts.
    • Sync kind with the URL query string (?kind=scholarship) so filtered views are shareable.
  3. New SEO Presets (src/lib/presets.ts):
    • scholarships-for-indian-students: Scholarships and fellowships open to Indian students (kind: ["scholarship", "fellowship"], region/eligibility India).
    • open-source-programs: Paid open-source mentorship programs like GSoC, LFX, Outreachy, MLH, Season of KDE (kind: ["program"]).
    • paid-internships-india: Research and industry internships with stipends open to students in India (kind: ["internship"], costType: ["stipend"]).

Acceptance Criteria

  • applyFilters and countByKind filter and count resources by kind.
  • Directory page renders the kind chip bar with live counts and syncs selection to ?kind= URL params.
  • /scholarships-for-indian-students, /open-source-programs, and /paid-internships-india resolve via src/app/[preset]/page.tsx.
  • Unit tests in src/lib/directory-filters.test.ts cover kind filtering and facet counts.

Files Involved

  • src/lib/directory-filters.ts
  • src/lib/directory-filters.test.ts
  • src/lib/presets.ts
  • src/components/directory/directory-client.tsx
Lenguaje dominante
TypeScript
Estrellas
1
Forks
6
Merge medio
22 h 9 min
PR fusionados (30 d)
42

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Your-Voldemort/StudentStack

Todos los issues de Your-Voldemort/StudentStack

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.