Skip to content

Commit

Permalink
docs: clarifying why site and module projects exist
Browse files Browse the repository at this point in the history
  • Loading branch information
davidjoy committed Sep 24, 2024
1 parent ae0fa32 commit 36fd856
Showing 1 changed file with 4 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ There are two primary types of projects: *site projects* and *module projects*.
Site Projects
=============

Site projects serve the shell, contain the bulk of the frontend's configuration, and are a place to check in customizations and extensions to the shell and modules built as part of the project.

A site project uses a :term:`Site Config` file to define the configuration for a :term:`Site`, which is an independently deployed portion of the Open edX frontend which renders a header, footer, and loads one or more Modules.

A site project consists of:
Expand All @@ -67,6 +69,8 @@ To describe the steps in the above image:
Module Projects
===============

Module projects are a place to put customizations and extensions to federated modules, and contain configuration specific to those modules.

.. image:: ../module-project-architecture.png

A Module Project uses a ``config`` data structure in ``package.json`` to define what modules it should bundle for :term:`module federation`. This mirrors the ``config`` data structure in the :term:`module libraries <Module Library>` (``frontend-app-*`` repositories). It also uses a :term:`Module Config` file for additional configuration of those modules beyond that which will be supplied by the site's :term:`Site Config`, i.e., module-specific configuration.
Expand Down

0 comments on commit 36fd856

Please sign in to comment.