Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions projects/dev.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@
"django.contrib.admin",
"django.contrib.admindocs",

# Open edX Organizations (dependency for openedx_catalog)
"organizations",

# Our Apps
"openedx_tagging",
"openedx_content",
Expand Down
2 changes: 2 additions & 0 deletions requirements/base.in
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,5 @@ edx-drf-extensions # Extensions to the Django REST Framework used by Open
rules<4.0 # Django extension for rules-based authorization checks

tomlkit # Parses and writes TOML configuration files

edx-organizations # Implemented the "Organization" model that CatalogCourse/CourseRun are keyed to
20 changes: 18 additions & 2 deletions requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,20 @@ django==5.2.11
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# -r requirements/base.in
# django-crum
# django-model-utils
# django-simple-history
# django-waffle
# djangorestframework
# drf-jwt
# edx-django-utils
# edx-drf-extensions
# edx-organizations
django-crum==0.7.9
# via edx-django-utils
django-model-utils==5.0.0
# via edx-organizations
django-simple-history==3.11.0
# via edx-organizations
django-waffle==5.0.0
# via
# edx-django-utils
Expand All @@ -58,22 +65,31 @@ djangorestframework==3.16.1
# -r requirements/base.in
# drf-jwt
# edx-drf-extensions
# edx-organizations
dnspython==2.8.0
# via pymongo
drf-jwt==1.19.2
# via edx-drf-extensions
edx-django-utils==8.0.1
# via edx-drf-extensions
edx-drf-extensions==10.6.0
# via -r requirements/base.in
# via
# -r requirements/base.in
# edx-organizations
edx-opaque-keys==3.0.0
# via edx-drf-extensions
# via
# edx-drf-extensions
# edx-organizations
edx-organizations==7.3.0
# via -r requirements/base.in
idna==3.11
# via requests
kombu==5.6.2
# via celery
packaging==26.0
# via kombu
pillow==12.1.0
# via edx-organizations
prompt-toolkit==3.0.52
# via click-repl
psutil==7.2.2
Expand Down
23 changes: 22 additions & 1 deletion requirements/dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ django==5.2.11
# -r requirements/quality.txt
# django-crum
# django-debug-toolbar
# django-model-utils
# django-simple-history
# django-stubs
# django-stubs-ext
# django-waffle
Expand All @@ -140,6 +142,7 @@ django==5.2.11
# edx-django-utils
# edx-drf-extensions
# edx-i18n-tools
# edx-organizations
django-crum==0.7.9
# via
# -r requirements/quality.txt
Expand All @@ -148,6 +151,14 @@ django-debug-toolbar==6.2.0
# via
# -r requirements/dev.in
# -r requirements/quality.txt
django-model-utils==5.0.0
# via
# -r requirements/quality.txt
# edx-organizations
django-simple-history==3.11.0
# via
# -r requirements/quality.txt
# edx-organizations
django-stubs==5.2.9
# via
# -r requirements/quality.txt
Expand All @@ -166,6 +177,7 @@ djangorestframework==3.16.1
# -r requirements/quality.txt
# drf-jwt
# edx-drf-extensions
# edx-organizations
djangorestframework-stubs==3.16.8
# via -r requirements/quality.txt
dnspython==2.8.0
Expand All @@ -185,7 +197,9 @@ edx-django-utils==8.0.1
# -r requirements/quality.txt
# edx-drf-extensions
edx-drf-extensions==10.6.0
# via -r requirements/quality.txt
# via
# -r requirements/quality.txt
# edx-organizations
edx-i18n-tools==1.9.0
# via -r requirements/dev.in
edx-lint==5.6.0
Expand All @@ -194,6 +208,9 @@ edx-opaque-keys==3.0.0
# via
# -r requirements/quality.txt
# edx-drf-extensions
# edx-organizations
edx-organizations==7.3.0
# via -r requirements/quality.txt
fastapi==0.128.5
# via
# -r requirements/quality.txt
Expand Down Expand Up @@ -324,6 +341,10 @@ pathspec==1.0.4
# via
# -r requirements/quality.txt
# mypy
pillow==12.1.0
# via
# -r requirements/quality.txt
# edx-organizations
pip-tools==7.5.2
# via -r requirements/pip-tools.txt
platformdirs==4.5.1
Expand Down
23 changes: 22 additions & 1 deletion requirements/doc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -96,20 +96,31 @@ django==5.2.11
# -r requirements/test.txt
# django-crum
# django-debug-toolbar
# django-model-utils
# django-simple-history
# django-stubs
# django-stubs-ext
# django-waffle
# djangorestframework
# drf-jwt
# edx-django-utils
# edx-drf-extensions
# edx-organizations
# sphinxcontrib-django
django-crum==0.7.9
# via
# -r requirements/test.txt
# edx-django-utils
django-debug-toolbar==6.2.0
# via -r requirements/test.txt
django-model-utils==5.0.0
# via
# -r requirements/test.txt
# edx-organizations
django-simple-history==3.11.0
# via
# -r requirements/test.txt
# edx-organizations
django-stubs==5.2.9
# via
# -r requirements/test.txt
Expand All @@ -128,6 +139,7 @@ djangorestframework==3.16.1
# -r requirements/test.txt
# drf-jwt
# edx-drf-extensions
# edx-organizations
djangorestframework-stubs==3.16.8
# via -r requirements/test.txt
dnspython==2.8.0
Expand All @@ -152,11 +164,16 @@ edx-django-utils==8.0.1
# -r requirements/test.txt
# edx-drf-extensions
edx-drf-extensions==10.6.0
# via -r requirements/test.txt
# via
# -r requirements/test.txt
# edx-organizations
edx-opaque-keys==3.0.0
# via
# -r requirements/test.txt
# edx-drf-extensions
# edx-organizations
edx-organizations==7.3.0
# via -r requirements/test.txt
fastapi==0.128.5
# via
# -r requirements/test.txt
Expand Down Expand Up @@ -232,6 +249,10 @@ pathspec==1.0.4
# via
# -r requirements/test.txt
# mypy
pillow==12.1.0
# via
# -r requirements/test.txt
# edx-organizations
pluggy==1.6.0
# via
# -r requirements/test.txt
Expand Down
23 changes: 22 additions & 1 deletion requirements/quality.txt
Original file line number Diff line number Diff line change
Expand Up @@ -100,19 +100,30 @@ django==5.2.11
# -r requirements/test.txt
# django-crum
# django-debug-toolbar
# django-model-utils
# django-simple-history
# django-stubs
# django-stubs-ext
# django-waffle
# djangorestframework
# drf-jwt
# edx-django-utils
# edx-drf-extensions
# edx-organizations
django-crum==0.7.9
# via
# -r requirements/test.txt
# edx-django-utils
django-debug-toolbar==6.2.0
# via -r requirements/test.txt
django-model-utils==5.0.0
# via
# -r requirements/test.txt
# edx-organizations
django-simple-history==3.11.0
# via
# -r requirements/test.txt
# edx-organizations
django-stubs==5.2.9
# via
# -r requirements/test.txt
Expand All @@ -131,6 +142,7 @@ djangorestframework==3.16.1
# -r requirements/test.txt
# drf-jwt
# edx-drf-extensions
# edx-organizations
djangorestframework-stubs==3.16.8
# via -r requirements/test.txt
dnspython==2.8.0
Expand All @@ -148,13 +160,18 @@ edx-django-utils==8.0.1
# -r requirements/test.txt
# edx-drf-extensions
edx-drf-extensions==10.6.0
# via -r requirements/test.txt
# via
# -r requirements/test.txt
# edx-organizations
edx-lint==5.6.0
# via -r requirements/quality.in
edx-opaque-keys==3.0.0
# via
# -r requirements/test.txt
# edx-drf-extensions
# edx-organizations
edx-organizations==7.3.0
# via -r requirements/test.txt
fastapi==0.128.5
# via
# -r requirements/test.txt
Expand Down Expand Up @@ -248,6 +265,10 @@ pathspec==1.0.4
# via
# -r requirements/test.txt
# mypy
pillow==12.1.0
# via
# -r requirements/test.txt
# edx-organizations
platformdirs==4.5.1
# via pylint
pluggy==1.6.0
Expand Down
23 changes: 22 additions & 1 deletion requirements/test.txt
Original file line number Diff line number Diff line change
Expand Up @@ -79,19 +79,30 @@ ddt==1.7.2
# -r requirements/base.txt
# django-crum
# django-debug-toolbar
# django-model-utils
# django-simple-history
# django-stubs
# django-stubs-ext
# django-waffle
# djangorestframework
# drf-jwt
# edx-django-utils
# edx-drf-extensions
# edx-organizations
django-crum==0.7.9
# via
# -r requirements/base.txt
# edx-django-utils
django-debug-toolbar==6.2.0
# via -r requirements/test.in
django-model-utils==5.0.0
# via
# -r requirements/base.txt
# edx-organizations
django-simple-history==3.11.0
# via
# -r requirements/base.txt
# edx-organizations
django-stubs==5.2.9
# via
# -r requirements/test.in
Expand All @@ -108,6 +119,7 @@ djangorestframework==3.16.1
# -r requirements/base.txt
# drf-jwt
# edx-drf-extensions
# edx-organizations
djangorestframework-stubs==3.16.8
# via -r requirements/test.in
dnspython==2.8.0
Expand All @@ -123,11 +135,16 @@ edx-django-utils==8.0.1
# -r requirements/base.txt
# edx-drf-extensions
edx-drf-extensions==10.6.0
# via -r requirements/base.txt
# via
# -r requirements/base.txt
# edx-organizations
edx-opaque-keys==3.0.0
# via
# -r requirements/base.txt
# edx-drf-extensions
# edx-organizations
edx-organizations==7.3.0
# via -r requirements/base.txt
fastapi==0.128.5
# via import-linter
freezegun==1.5.5
Expand Down Expand Up @@ -174,6 +191,10 @@ packaging==26.0
# pytest
pathspec==1.0.4
# via mypy
pillow==12.1.0
# via
# -r requirements/base.txt
# edx-organizations
pluggy==1.6.0
# via
# pytest
Expand Down
35 changes: 35 additions & 0 deletions src/openedx_catalog/ARCHITECTURE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Catalog App Architecture Diagram

Here's a visual overview of how this app relates to other apps.

(_Note: to see the diagram below, view this on GitHub or view in VS Code with [a Markdown-Mermaid extension](https://marketplace.visualstudio.com/items?itemName=bierner.markdown-mermaid) enabled._)

```mermaid
---
config:
theme: 'forest'
---
flowchart TB
Catalog["**openedx_catalog** (CourseRun, CatalogCourse plus core metadata models, e.g. CourseSchedule. Other metadata models live in other apps but are 1:1 with CourseRun.)"]
Content["**openedx_content**<br>The content of the course. (publishing, containers, components, media)"]
Organizations["**edx-organizations** (Organization)"]
Enrollments["**platform: enrollments** (CourseEnrollment, CourseEnrollmentAllowed)"]
Modes["**platform: course_modes** (CourseMode)"]
Catalog <-. "Direction of this relationship TBD." .-> Content
Catalog -- References --> Organizations
Enrollments -- References --> Modes
Enrollments -- References --> Catalog

style Enrollments fill:#ccc
style Modes fill:#ccc
style Organizations fill:#ccc

Pathways["<a href='https://openedx.atlassian.net/wiki/spaces/OEPM/pages/5148147732/Brief+Modular+Content+Delivery+-+Platform+Strategy'>**openedx_pathways**</a> (Pathway, PathwaySchedule, PathwayEnrollment, PathwayCertificate, etc.)"]
Pathways -- References --> Catalog

style Pathways fill:#c0ffee,stroke-dasharray: 5 5

FutureCatalog["Future discovery service - learner-oriented, pluggable, browse/search courses and programs"] -- References --> Catalog
FutureCatalog <-- Plugin API --> Pathways
style FutureCatalog fill:#ffc0ee,stroke-dasharray: 5 5
```
Loading
Loading