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

Feature (Phase 4): Expand public API (/api/resources filters & /api/resources/[slug]), add API & Agents page + llms.txt, and community freshness/credits

Abierto
#82 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@Aryan-Techie ya está trabajando en esto.

Desde el 20/10/2026.

  • #108 de @Aryan-Techie — abierto

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
12/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
typescript

Línea de trabajo

This bundles four separate features: query filters on src/app/api/resources/route.ts, a new src/app/api/resources/[slug]/route.ts, an API docs page plus src/app/llms.txt/route.ts, and bookmark-based and contributor credits on /r/[slug]. Start by reading the existing resources route and src/lib/resources.ts, then ask the maintainer which slice to take. Done means the listed acceptance criteria pass for that slice.

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 4.1, 4.3, 4.4). Builds on the initial pagination slice in #69 / #39.

Currently, GET /api/resources only supports ?page=&limit=. To complete Phase 4 distribution and community loops:

Scope & Implementation Plan

1. Expand Public Read API & Rate Limiting (src/app/api/resources/route.ts, src/app/api/resources/[slug]/route.ts)
  • Add query filters to GET /api/resources:
    • kind (perk, scholarship, fellowship, internship, mentorship, program)
    • category (category slug)
    • region (IN, Global)
    • deadline_before (ISO date string — returns active resources closing before date)
  • Add GET /api/resources/[slug] returning full details for a single approved resource (404 if not found).
  • Add rate limiting and Cache-Control: public, s-maxage=60, stale-while-revalidate=300 headers.
2. "API & Agents" Page and /llms.txt
  • Create src/app/api-docs/page.tsx (or /agents) documenting the free JSON API (GET /api/resources, GET /api/resources/[slug]), /deadlines.ics, and /deadlines.rss for student developers, Discord bots, and AI agents.
  • Add src/app/llms.txt/route.ts (or public/llms.txt) describing StudentStack's purpose, endpoints, categories, and presets in standard llms.txt format.
3. Community Freshness & Campus Ambassador Credits (Phase 4.3 & 4.4)
  • Aggregate "N students got this" badge: Query bookmarks where status = 'got_it' grouped by resource_id and surface the aggregate count on resource cards and /r/[slug] pages (keeping individual users private, resolving PRD open question 1).
  • Contributor credit: When a student-submitted resource (/submit, submitted_by) is approved, display an optional contributor credit on its /r/[slug] page.

Acceptance Criteria

  • GET /api/resources supports kind, category, region, and deadline_before query parameters.
  • GET /api/resources/[slug] returns a single resource by slug with cache headers.
  • /llms.txt and an "API & Agents" documentation page are live and linked from the site footer.
  • Resource cards / detail pages display aggregate "N students got this" counts when > 0, and /r/[slug] displays contributor attribution for community-submitted resources.

Files Involved

  • src/app/api/resources/route.ts
  • src/app/api/resources/route.test.ts
  • src/app/api/resources/[slug]/route.ts (new)
  • src/app/llms.txt/route.ts (new)
  • src/app/api-docs/page.tsx (new)
  • src/lib/resources.ts
Lenguaje dominante
TypeScript
Estrellas
1
Forks
6
Merge medio
23 h 53 min
PR fusionados (30 d)
27

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.