Feature (Phase 4): Expand public API (/api/resources filters & /api/resources/[slug]), add API & Agents page + llms.txt, and community freshness/credits
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 12/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- api, documentation, frontend
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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=300headers.
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.rssfor student developers, Discord bots, and AI agents. - Add
src/app/llms.txt/route.ts(orpublic/llms.txt) describing StudentStack's purpose, endpoints, categories, and presets in standardllms.txtformat.
3. Community Freshness & Campus Ambassador Credits (Phase 4.3 & 4.4)
- Aggregate "N students got this" badge: Query
bookmarkswherestatus = 'got_it'grouped byresource_idand 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/resourcessupportskind,category,region, anddeadline_beforequery parameters. -
GET /api/resources/[slug]returns a single resource by slug with cache headers. -
/llms.txtand 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.tssrc/app/api/resources/route.test.tssrc/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
- Lingua principale
- TypeScript
- Stelle
- 1
- Fork
- 6
- Merge medio
- 23h 53m
- PR unite (30g)
- 27
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Your-Voldemort/StudentStack
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
Your-Voldemort/StudentStack#84 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 18/100
Your-Voldemort/StudentStack#83 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 4/5 Più di una settimana Idoneità per principianti 22/100
Your-Voldemort/StudentStack#79 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
Your-Voldemort/StudentStack#78 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
Your-Voldemort/StudentStack#42 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Your-Voldemort/StudentStack
Issue simili
-
area: aria/combobox gemini-triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
angular/components#33973 ·
I maintainer di solito rispondono entro 1 giorno
-
bug priority: P2
Difficoltà 1/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
[bug] status, list and push crash with an uncaught NotInitializedError stack trace when teamai is not initializedForse già presa @jay23606 l’ha presa oggi. Apertabug good first issue help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Tencent/teamai-cli#1227 ·
I maintainer di solito rispondono entro 1 giorno
-
[Tool]: YapAperta
Difficoltà 1/5 1-3 ore Idoneità per principianti 62/100
withkarann/aifoxx#417 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
sindresorhus/eslint-plugin-unicorn#3921 ·
I maintainer di solito rispondono entro 1 giorno