Goal
Wire up the Learn page to pull dynamic content from the database and Wagtail, and implement the library category carousel with randomised ordering.
Figma Link
Scope
Full-stack: data fetching for library categories, post cards, and redirect wiring.
Acceptance Criteria
- Wire the page to the nav bar
Browse our libraries — category carousel
- Library categories are fetched from the database.
- The order of categories displayed in the carousel is randomised on each page load.
- Each category card displays:
- Category name
- Short description (managed via Wagtail)
- Library count (number of libraries in that category, sourced from the database)
- The "Start here" CTA on each card routes to the library list page pre-filtered by that category (e.g.
/libraries?category=algorithms).
Posts from the Boost community
- The 4 most recent posts are fetched from the database, ordered publish date descending. Note: a separate ticket to implement an algorithm that orders the posts based on a combination of views and recency will be an optimization.
- Each post card displays: title, publish date, post type, related library tags, author avatar, author name, and author role/badge.
- The "View all posts" CTA routes to the posts feed page.
- Dev Note (@julhoang): The Latest Posts Card appears on multiple pages (Homepage, Community, Learn), and several other pages use variants with slightly different query params. Since all variants return the same object shape, we should establish a shared pattern – e.g., a context provider or a reusable data-fetching hook – so the component can consume its data consistently without being redeclared per page.
Static sections
The following sections require no backend integration and are hardcoded:
- Hero — heading, subheading, and illustration.
- I want to learn / I want to contribute — both cards including body copy, links, CTAs, and images.
- Why Boost? — all six feature cards including headings and descriptions.
FE/BE Actions
| Description |
URL |
| Fetch all library categories with library count and description |
|
| Fetch 4 most recent posts |
|
| Mailing list submission flow |
|
Redirects
Note: Confirm destination URLs for all external links and internal routes before implementation.
Out of Scope
- Mailing list subscription form
- Release calendar rendering
Goal
Wire up the Learn page to pull dynamic content from the database and Wagtail, and implement the library category carousel with randomised ordering.
Figma Link
Scope
Full-stack: data fetching for library categories, post cards, and redirect wiring.
Acceptance Criteria
Browse our libraries — category carousel
/libraries?category=algorithms).Posts from the Boost community
Static sections
The following sections require no backend integration and are hardcoded:
FE/BE Actions
Redirects
Out of Scope