Skip to content

Catalog Discovery & Commerce

Overview

Catalog Discovery & Commerce covers how prospective and enrolled learners browse, search, and enroll in courses and programs — including the course catalog, search and filtering, course landing pages, and the ecommerce layer that handles paid enrollments, course vouchers, and enrollment modes.

The course-discovery service is the canonical catalog backend; it indexes course and program metadata from Studio and powers the public-facing search experience. The ecommerce layer (historically ecommerce, now partially transitioning to newer implementations) handles payment flows and enrollment modes.

Current State (2026)

  • Catalog service: course-discovery (Django) holds all course and program metadata, supports ElasticSearch/Algolia-powered search
  • Learner-facing catalog: frontend-app-learner-dashboard and frontend-app-course-about provide the course browsing and landing page experience
  • Enrollment modes: Audit (free), Verified (paid/certificate), Honor; managed in edx-platform
  • Ecommerce: Legacy ecommerce service (Oscar-based) handles paid enrollment and vouchers; migration status varies by deployment
  • Program discovery: Programs browsable via course-discovery; frontend-app-learner-dashboard surfaces program progress
  • Enterprise: Enterprise customers (via edx-enterprise) have custom catalog and enrollment flows

Architecture

  • course-discovery: Standalone Django service; syncs course/program metadata from Studio via APIs; powers search
  • Search: ElasticSearch or Algolia used for full-text catalog search; indexed from course-discovery
  • ecommerce service: Handles payment processing, voucher/coupon management, order fulfillment; Oscar e-commerce framework
  • Enrollment flow: Course about page → enrollment → payment (if verified mode) → edx-platform enrollment record created
  • edx-enterprise: Provides enterprise learner portals, enterprise catalog subsets, and enterprise enrollment flows

Relevant Repositories

RepositoryRole in This FeatureActivity LevelNotes
openedx/course-discoveryCatalog service: course/program metadata and searchHighCore catalog backend
openedx/frontend-app-learner-dashboardLearner home and program discovery MFEHighPrimary catalog browsing surface
openedx/ecommercePaid enrollment, vouchers, order managementMediumOscar-based; migration ongoing
openedx/edx-enterpriseEnterprise catalogs, portals, and enrollmentHighB2B enrollment flows
openedx/openedx-platformEnrollment modes, enrollment recordsHighEnrollment record source of truth

Recent Changes

  • course-discovery continues as the canonical catalog service
  • Enterprise catalog and portal features growing via edx-enterprise

History

Origin

  • Year introduced: ~2014–2015 (course catalog and discovery emerged as edX scaled beyond a handful of courses)
  • Initial implementation: Basic catalog pages in edx-platform; course-discovery extracted as course count grew
  • Context: As course counts reached hundreds, search and structured browsing became necessary; ecommerce introduced as edX moved to paid certificate model

Key Milestones

YearMilestoneTeams / People Involved
~2014–2015course-discovery service extracted from monolithUnknown
~2015–2016Paid enrollment modes (Verified) and ecommerce service introducedUnknown
~2017–2018Enterprise catalog and portal features developedUnknown
~2022–2023Learner dashboard MFE replaces legacy catalog pagesUnknown

People Who Shaped This Area

  • Engineering: Unknown — open question for interview
  • Product: Unknown — open question for interview
  • Design: Unknown — open question for interview

Open Questions

  • [ ] When was course-discovery first extracted and what prompted it?
  • [ ] What is the migration path away from the Oscar-based ecommerce service?
  • [ ] How does enterprise catalog differ from the standard public catalog?
  • [ ] What search technology is used in standard Open edX deployments (ElasticSearch vs. Algolia)?
  • [ ] How are enrollment modes managed and what is the relationship between course-discovery and edx-platform for enrollment data?

Schema Education — Internal Research