graphql / graphql/graphql.github.io
Community hub page at /community
- Langage dominant
- TypeScript
- Étoiles
- 889
- Forks
- 1.5k
- Merge moyen
- 4 j 12 h
- PR mergées (30 j)
- 21
Description
## Summary
Create a `/community` landing page whose explicit goal is to **get more people actively involved in the GraphQL community**. Today "Community" is a dropdown menu with **no page behind it** — there's no single place that invites people to participate, and `/community` currently **404s** (even though `/resources` already links to it).
## Goal
Turn visitors into participants. The page is an **on-ramp**, organized as an involvement ladder from lowest-friction to deepest commitment, each step with a clear call to action.
## Proposed structure (involvement ladder)
1. **Hero** — "Get involved with GraphQL" + primary CTAs.
2. **Connect (lowest friction)** — join Official / Community / Vendor channels (chat, forums, social). _CTA: say hi._
3. **Show up** — attend or run a meetup; GraphQLConf. Pulls a highlight from the existing `/community/events` data. _CTA: find/host an event._
4. **Contribute** — code, docs, Working Groups, governance. _CTA: make your first contribution._
5. **Lead** — Ambassador Program (+ spotlight grid via `AmbassadorGrid`); later the Team page (#2428). _CTA: become an ambassador._
6. **Support** — the Foundation: join, members, grants. _CTA: join the Foundation._
7. **Looking for more** — cross-link Learn / Resources (reciprocate the link `/resources` already points here).
## Implementation notes
- App Router page `src/app/(main)/community/page.tsx`, mirroring `/resources` (`src/app/(main)/resources/page.tsx`).
- Reuse `ResourcesHero`, category-card components, `AmbassadorGrid`, `LookingForMore`.
- **Menu wiring:** add `route: "/community"` + an `index` item to the `community` menu in `src/pages/_meta.tsx` → dropdown automatically gains an **"Explore Community"** link (same code path `/resources` uses).
## Why now
`/resources` already links to `/community`, which 404s — the page is already expected to exist.
## Open questions
1. Which sections are **v1** vs. later.
2. Curated cards vs. live data (events feed, ambassadors grid).
3. Relationship to **Team page #2428** (where ambassadors/TSC render) and to `/resources` (avoid Tools & Libraries / training overlap).
4. Success metric for "more involved" — is there anything measurable we care about (channel joins, event signups, contributions)?
## Out of scope
- Reworking the individual subpages (channels, foundation, etc.) — this page links to them.
## Related
- #2428 — Team page on graphql.org (the **Lead/People** section renders here once it exists).
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par src/app/(main)/resources/page.tsx et le fichier proposé src/app/(main)/community/page.tsx, puis examinez ResourcesHero, category-card components, AmbassadorGrid, LookingForMore et le menu de la communauté dans src/pages/_meta.tsx. Définissez le périmètre de v1 et les décisions relatives aux données avant d’implémenter l’échelle de participation. Le travail est terminé lorsque /community affiche les sections et les CTAs convenus, que le menu inclut “Explore Community” et que le lien /resources existant ne renvoie plus de 404.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- next.js, typescript
- Domaine
- content, frontend, web-dev
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 52/100