App-Level Architecture Decision Records
========================================

Links to per-app ADR directories, supplementing the top-level
:doc:`repo-wide decisions <0001-courses-in-lms>`.

lms/djangoapps
--------------

* :doc:`bulk_email <../references/docs/lms/djangoapps/bulk_email/docs/decisions/index>`
* :doc:`certificates <../references/docs/lms/djangoapps/certificates/docs/decisions/index>`
* :doc:`course_goals <../references/docs/lms/djangoapps/course_goals/docs/decisions/index>`
* :doc:`courseware <../references/docs/lms/djangoapps/courseware/docs/decisions/index>`
* :doc:`grades <../references/docs/lms/djangoapps/grades/docs/decisions/index>`
* :doc:`instructor <../references/docs/lms/djangoapps/instructor/docs/decisions/index>`
* :doc:`instructor_task <../references/docs/lms/djangoapps/instructor_task/docs/decisions/index>`
* :doc:`mfe_config_api <../references/docs/lms/djangoapps/mfe_config_api/docs/decisions/index>`
* :doc:`monitoring <../references/docs/lms/djangoapps/monitoring/docs/decisions/index>`
* :doc:`program_enrollments <../references/docs/lms/djangoapps/program_enrollments/docs/decisions/index>`
* :doc:`support <../references/docs/lms/djangoapps/support/docs/decisions/index>`
* :doc:`teams <../references/docs/lms/djangoapps/teams/docs/decisions/index>`
* :doc:`verify_student <../references/docs/lms/djangoapps/verify_student/docs/decisions/index>`

cms/djangoapps
--------------

* :doc:`contentstore <../references/docs/cms/djangoapps/contentstore/docs/decisions/index>`

openedx/core/djangoapps
-----------------------

* :doc:`authz <../references/docs/openedx/core/djangoapps/authz/docs/decisions/index>`
* :doc:`catalog <../references/docs/openedx/core/djangoapps/catalog/docs/decisions/index>`
* :doc:`content <../references/docs/openedx/core/djangoapps/content/docs/decisions/index>`
* :doc:`content_libraries <../references/docs/openedx/core/djangoapps/content_libraries/docs/decisions/index>`
* :doc:`course_apps <../references/docs/openedx/core/djangoapps/course_apps/docs/decisions/index>`
* :doc:`course_live <../references/docs/openedx/core/djangoapps/course_live/docs/decisions/index>`
* :doc:`courseware_api <../references/docs/openedx/core/djangoapps/courseware_api/docs/decisions/index>`
* :doc:`discussions <../references/docs/openedx/core/djangoapps/discussions/docs/decisions/index>`
* :doc:`external_user_ids <../references/docs/openedx/core/djangoapps/external_user_ids/docs/decisions/index>`
* :doc:`learning_sequences <../references/docs/openedx/core/djangoapps/content/learning_sequences/docs/decisions/index>`
* :doc:`oauth_dispatch <../references/docs/openedx/core/djangoapps/oauth_dispatch/docs/decisions/index>`
* :doc:`plugins <../references/docs/openedx/core/djangoapps/plugins/docs/decisions/index>`
* :doc:`programs <../references/docs/openedx/core/djangoapps/programs/docs/decisions/index>`
* :doc:`search <../references/docs/openedx/core/djangoapps/content/search/docs/decisions/index>`
* :doc:`staticfiles <../references/docs/openedx/core/djangoapps/staticfiles/docs/decisions/index>`
* :doc:`waffle_utils <../references/docs/openedx/core/djangoapps/waffle_utils/docs/decisions/index>`

openedx/features
----------------

* :doc:`calendar_sync <../references/docs/openedx/features/calendar_sync/docs/decisions/index>`
* :doc:`content_type_gating <../references/docs/openedx/features/content_type_gating/docs/decisions/index>`
* :doc:`course_duration_limits <../references/docs/openedx/features/course_duration_limits/docs/decisions/index>`
* :doc:`discounts <../references/docs/openedx/features/discounts/docs/decisions/index>`
* :doc:`survey_report <../references/docs/openedx/features/survey_report/docs/decisions/index>`

common/djangoapps
-----------------

* :doc:`entitlements <../references/docs/common/djangoapps/entitlements/docs/decisions/index>`
* :doc:`student <../references/docs/common/djangoapps/student/docs/decisions/index>`

xmodule
-------

* :doc:`xmodule <../references/docs/xmodule/docs/decisions/index>`
