Page: Blog

Code: BLOG Route: /blog Access: Public Priority: P2 Status: In Scope

Purpose

Content marketing and SEO. Share educational content, platform updates, teaching tips, and success stories to attract organic traffic and engage users.


Connections

Incoming (users arrive from)

Source Trigger Notes
(External) Search engines, social media Organic traffic entry point
HOME Footer 'Blog' link From homepage

Outgoing (users navigate to)

Target Trigger Notes
BPOS Article click Individual post
CBRO Related course links Course discovery from content
SGUP Newsletter signup or CTA Conversion from content

Data Requirements

Entity Fields Used Purpose
blog_posts id, slug, title, excerpt, featured_image, author_id, category, tags, published_at, read_time Display blog post listings
blog_categories id, name, slug, description Category filters
users (authors) name, avatar Author attribution

Sections

Hero

  • Headline: "Peerloop Blog"
  • Subheadline: "Tips, stories, and insights for learners and teachers"
  • Newsletter signup CTA

Featured Post

  • Large featured article card
  • Hero image, title, excerpt
  • Author, date, read time

Category Filters

  • All Posts
  • Learning Tips
  • Teaching Tips
  • Success Stories
  • Product Updates
  • Industry Insights

Post Grid

  • Article cards with thumbnails
  • Title, excerpt, category tag
  • Author avatar, date, read time

Pagination

  • Load more or page numbers
  • 10-12 posts per page

Sidebar (Desktop)

  • Newsletter signup
  • Popular posts
  • Category list
  • Social follow links

User Stories Fulfilled

  • US-G050: Find helpful articles about learning
  • US-G051: Stay updated on platform news

States & Variations

State Description
Default All posts, most recent first
Filtered Posts filtered by category
Search Results Posts matching search query

Mobile Considerations

  • Post cards single column
  • Sidebar content moves to bottom
  • Category filters as horizontal scroll

Error Handling

Error Display
Posts fail to load Show error message with retry
No posts in category "No posts in this category yet" message

Analytics Events

Event Trigger Data
page_view Page load source, category_filter
post_click Post card clicked post_id, post_title, position
category_filter Category selected category
newsletter_signup Email submitted source

API Calls

Endpoint When Purpose
GET /api/blog/posts Page load Fetch blog posts with pagination
GET /api/blog/categories Page load Fetch category list

Notes

  • SEO: Blog posts are major traffic driver
  • Consider content management system integration
  • RSS feed for subscribers