|
1 |
| -|Build Status| |Codecov| |npm_version| |npm_downloads| |license| |semantic-release| ## As many of these as you'd like to include, or others if you wish! |
| 1 | +frontend-app-[PLACEHOLDER] |
| 2 | +########################## |
2 | 3 |
|
3 |
| -frontend-app-[YOUR NAME HERE] |
4 |
| -============================== |
| 4 | +.. note:: |
5 | 5 |
|
6 |
| -Please tag **@edx/[YOUR-TEAM]** on any PRs or issues. Thanks! |
| 6 | + This README is a template. As a maintainer, please review its contents and |
| 7 | + update all relevant sections. Instructions to you are marked with |
| 8 | + "[PLACEHOLDER]" or "[TODO]". Update or remove those sections, and remove this |
| 9 | + note when you are done. |
7 | 10 |
|
8 |
| -Introduction |
9 |
| ------------- |
| 11 | +|license-badge| |status-badge| |ci-badge| |codecov-badge| |
10 | 12 |
|
11 |
| -*What is this MFE? Add a 2-3 sentence description of what it is and what it does.* |
| 13 | +.. |license-badge| image:: https://img.shields.io/github/license/openedx/frontend-app-[PLACEHOLDER].svg |
| 14 | + :target: https://github.com/openedx/frontend-app-[PLACEHOLDER]/blob/main/LICENSE |
| 15 | + :alt: License |
12 | 16 |
|
13 |
| -*What is the _domain_ of this MFE? That is, what is in here, what belongs here? What's* |
14 |
| -*_not_ in here that people might think could belong here, but is purposefully excluded?* |
| 17 | +.. |status-badge| image:: https://img.shields.io/badge/Status-Maintained-brightgreen |
15 | 18 |
|
16 |
| -*Add any additional detail/notes relevant to understanding the whats/whys of this* |
17 |
| -*MFE: could be links to publically available wikis/documents.* |
| 19 | +.. |ci-badge| image:: https://github.com/openedx/frontend-app-[PLACEHOLDER]/actions/workflows/ci.yml/badge.svg |
| 20 | + :target: https://github.com/openedx/frontend-app-[PLACEHOLDER]/actions/workflows/ci.yml |
| 21 | + :alt: Continuous Integration |
18 | 22 |
|
19 |
| -Installation |
20 |
| ------------- |
| 23 | +.. |codecov-badge| image:: https://codecov.io/github/openedx/frontend-app-[PLACEHOLDER]/coverage.svg?branch=main |
| 24 | + :target: https://codecov.io/github/openedx/frontend-app[PLACEHOLDER]?branch=main |
| 25 | + :alt: Codecov |
21 | 26 |
|
22 |
| -This MFE is bundled with `Devstack <https://github.com/openedx/devstack>`_, see the `Getting Started <https://github.com/openedx/devstack#getting-started>`_ section for setup instructions. |
| 27 | +Purpose |
| 28 | +======= |
23 | 29 |
|
24 |
| -1. Enumerated list of steps & code blocks, like this: |
| 30 | +.. note:: |
| 31 | + |
| 32 | + [TODO] |
| 33 | + |
| 34 | + What is this MFE? Add a 2-3 sentence description of what it is and what it |
| 35 | + does. |
| 36 | + |
| 37 | +This is the Awesome MFE. It was built to provide an unmatched learning |
| 38 | +experience, with improved tools for both randomized goodness and the ability to |
| 39 | +directly reference amaze-blocks in existing courses. This experience is powered |
| 40 | +by the new Fantastico storage engine. |
| 41 | + |
| 42 | +Getting Started |
| 43 | +=============== |
| 44 | + |
| 45 | +Devstack Installation |
| 46 | +--------------------- |
| 47 | + |
| 48 | +.. note:: |
| 49 | + |
| 50 | + [TODO] |
| 51 | + |
| 52 | + Describe in detail how this MFE can be installed and set up for development |
| 53 | + in a devstack. Include as many screenshots as you can to make your guide |
| 54 | + easier to follow! Use the following steps as an example: |
| 55 | + |
| 56 | +Follow these steps to provision, run, and enable an instance of the |
| 57 | +[PLACEHOLDER] MFE for local development via the `devstack`_. |
| 58 | + |
| 59 | +.. _devstack: https://github.com/openedx/devstack#getting-started |
| 60 | + |
| 61 | +#. To start, clone the devstack repository as a child of an arbitrary ``~/workspace/`` directory. |
25 | 62 |
|
26 | 63 | .. code-block::
|
27 | 64 |
|
28 | 65 | mkdir -p ~/workspace/
|
29 | 66 | cd ~/workspace/
|
30 | 67 | git clone https://github.com/openedx/devstack.git
|
31 | 68 |
|
32 |
| -2. Include as many screenshots as you can, to make your guide easier to follow! Include images with the following syntax: |
| 69 | +#. Configure default services and setup devstack |
| 70 | + |
| 71 | + Create a ``devstack/options.local.mk`` file with only the services required. |
| 72 | + Commonly, this will just be the LMS: |
| 73 | + |
| 74 | + .. code-block:: |
| 75 | +
|
| 76 | + DEFAULT_SERVICES ?= \ |
| 77 | + lms |
| 78 | +
|
| 79 | +#. Start the devstack with: |
| 80 | + |
| 81 | + .. code-block:: |
| 82 | +
|
| 83 | + cd devstack |
| 84 | + make dev.pull |
| 85 | + make dev.provision |
| 86 | + make dev.up |
| 87 | +
|
| 88 | +#. In an LMS shell, enable the ``ENABLE_[PLACEHOLDER]_MICROFRONTEND`` feature flag: |
| 89 | + |
| 90 | + .. code-block:: |
| 91 | +
|
| 92 | + make lms-shell |
| 93 | + vim /edx/etc/lms.yml |
| 94 | + --- |
| 95 | + FEATURES: |
| 96 | + ENABLE_[PLACEHOLDER]_MICROFRONTEND: true |
| 97 | +
|
| 98 | + Exit the shell and restart the LMS so changes take effect: |
| 99 | + |
| 100 | + .. code-block:: |
| 101 | +
|
| 102 | + make lms-restart |
| 103 | +
|
| 104 | +#. Create and enable the waffle flag required to redirect users to the MFE, |
| 105 | + enabling it for everyone: |
| 106 | + |
| 107 | + .. code-block:: |
| 108 | +
|
| 109 | + make lms-shell |
| 110 | + ./manage.py lms waffle_flag --create --everyone [PLACEHOLDER].redirect_to_microfrontend |
| 111 | +
|
| 112 | +#. Start this MFE with: |
| 113 | + |
| 114 | + .. code-block:: |
| 115 | +
|
| 116 | + cd frontend-app-[PLACEHOLDER] |
| 117 | + nvm use |
| 118 | + npm ci |
| 119 | + npm start |
33 | 120 |
|
| 121 | +#. Finally, open the MFE in a browser |
34 | 122 |
|
35 |
| - .. image:: ./docs/images/example_image.png |
| 123 | + Navigate to `http://localhost:8080 <http://localhost:8080>`_ to open the |
| 124 | + MFE. This is what it should look like if everything worked: |
36 | 125 |
|
37 |
| -Environment Variables/Setup Notes |
38 |
| ---------------------------------- |
| 126 | + .. figure:: ./docs/images/template.jpg |
39 | 127 |
|
40 |
| -*Does this MFE rely on other MFEs, or LMS/Studio? Does it require use of specific APIs? Do certain settings* |
41 |
| -*need to be enabled?* |
| 128 | + "Polycon marking template" by mangtronix is licensed under CC BY-SA 2.0. |
42 | 129 |
|
43 |
| -Any Other Relevant Sections |
44 |
| ---------------------------- |
| 130 | +Configuration |
| 131 | +------------- |
45 | 132 |
|
46 |
| -*This is optional, but you might have additional sections you wish to cover such as i18n notes, build process* |
47 |
| -*notes, stuff about ADRs, stuff about architecture, or more.* |
| 133 | +.. note:: |
| 134 | + |
| 135 | + [TODO] |
| 136 | + |
| 137 | + Explicitly list anything that this MFE requires to function correctly. This includes: |
| 138 | + |
| 139 | + * A list of both required and optional .env variables, and how they each |
| 140 | + affect the functioning of the MFE |
| 141 | + |
| 142 | + * A list of edx-platform `feature and waffle flags`_ that are either required |
| 143 | + to enable use of this MFE, or affect the behavior of the MFE in some other |
| 144 | + way |
| 145 | + |
| 146 | + * A list of IDAs or other MFEs that this MFE depends on to function correctly |
| 147 | + |
| 148 | +.. _feature and waffle flags: https://docs.openedx.org/projects/openedx-proposals/en/latest/best-practices/oep-0017-bp-feature-toggles.html |
| 149 | + |
| 150 | +[PLACEHOLDER: Other Relevant Sections] |
| 151 | +====================================== |
| 152 | + |
| 153 | +.. note:: |
| 154 | + |
| 155 | + [TODO] |
| 156 | + |
| 157 | + This is optional, but you might have additional sections you wish to cover. |
| 158 | + For instance, architecture documentation, i18n notes, build process, or |
| 159 | + more. |
48 | 160 |
|
49 | 161 | Known Issues
|
50 |
| ------------- |
| 162 | +============ |
| 163 | + |
| 164 | +.. note:: |
51 | 165 |
|
52 |
| -* A bulleted list of issues, ideally with JIRA ticket numbers attached |
| 166 | + [TODO] |
53 | 167 |
|
54 |
| -* OR - a link to a publically available wiki/document |
| 168 | + If there are long-standing known issues, list them here as a bulletted list, |
| 169 | + linking to the actual issues in the Github repository. |
55 | 170 |
|
56 | 171 | Development Roadmap
|
57 |
| -------------------- |
| 172 | +=================== |
| 173 | + |
| 174 | +.. note:: |
| 175 | + |
| 176 | + [TODO] |
| 177 | + |
| 178 | + Include a list of current development targets, in (rough) descending order |
| 179 | + of priority. It can be a simple bulleted list of roadmap items with links |
| 180 | + to Github issues or wiki pages. |
| 181 | + |
| 182 | +Getting Help |
| 183 | +============ |
| 184 | + |
| 185 | +.. note:: |
| 186 | + |
| 187 | + [TODO] |
| 188 | + |
| 189 | + Use the following as a template, but feel free to add specific places where |
| 190 | + this MFE is commonly discussed. |
| 191 | + |
| 192 | +If you're having trouble, we have discussion forums at |
| 193 | +https://discuss.openedx.org where you can connect with others in the community. |
| 194 | + |
| 195 | +Our real-time conversations are on Slack. You can request a `Slack |
| 196 | +invitation`_, then join our `community Slack workspace`_. Because this is a |
| 197 | +frontend repository, the best place to discuss it would be in the `#wg-frontend |
| 198 | +channel`_. |
| 199 | + |
| 200 | +For anything non-trivial, the best path is to open an issue in this repository |
| 201 | +with as many details about the issue you are facing as you can provide. |
| 202 | + |
| 203 | +https://github.com/openedx/frontend-app-[PLACEHOLDER]/issues |
| 204 | + |
| 205 | +For more information about these options, see the `Getting Help`_ page. |
| 206 | + |
| 207 | +.. _Slack invitation: https://openedx.org/slack |
| 208 | +.. _community Slack workspace: https://openedx.slack.com/ |
| 209 | +.. _#wg-frontend channel: https://openedx.slack.com/archives/C04BM6YC7A6 |
| 210 | +.. _Getting Help: https://openedx.org/getting-help |
| 211 | + |
| 212 | +License |
| 213 | +======= |
| 214 | + |
| 215 | +The code in this repository is licensed under the AGPLv3 unless otherwise |
| 216 | +noted. |
| 217 | + |
| 218 | +Please see `LICENSE <LICENSE>`_ for details. |
| 219 | + |
| 220 | +Contributing |
| 221 | +============ |
| 222 | + |
| 223 | +.. note:: |
| 224 | + |
| 225 | + [TODO] |
| 226 | + |
| 227 | + Feel free to add contribution details specific to your repository. |
| 228 | + |
| 229 | +Contributions are very welcome. Please read `How To Contribute`_ for details. |
| 230 | + |
| 231 | +.. _How To Contribute: https://openedx.org/r/how-to-contribute |
| 232 | + |
| 233 | +This project is currently accepting all types of contributions, bug fixes, |
| 234 | +security fixes, maintenance work, or new features. However, please make sure |
| 235 | +to have a discussion about your new feature idea with the maintainers prior to |
| 236 | +beginning development to maximize the chances of your change being accepted. |
| 237 | +You can start a conversation by creating a new issue on this repo summarizing |
| 238 | +your idea. |
58 | 239 |
|
59 |
| -The following is a list of current short-term development targets, in (rough) descending order of priority: |
| 240 | +The Open edX Code of Conduct |
| 241 | +============================ |
60 | 242 |
|
61 |
| -* A bulleted list of roadmap items, ideally with JIRA ticket numbers attached (but could just be |
62 |
| - a high-level overview of upcoming features/epics) |
| 243 | +All community members are expected to follow the `Open edX Code of Conduct`_. |
63 | 244 |
|
64 |
| -* OR - a link to a publically available wiki/document |
| 245 | +.. _Open edX Code of Conduct: https://openedx.org/code-of-conduct/ |
65 | 246 |
|
| 247 | +People |
| 248 | +====== |
66 | 249 |
|
67 |
| -============================== |
| 250 | +The assigned maintainers for this component and other project details may be |
| 251 | +found in `Backstage`_. Backstage pulls this data from the ``catalog-info.yaml`` |
| 252 | +file in this repo. |
68 | 253 |
|
69 |
| -References (for authors of the README; delete this section before publishing) |
| 254 | +.. _Backstage: https://open-edx-backstage.herokuapp.com/catalog/default/component/frontend-app-[PLACEHOLDER] |
70 | 255 |
|
71 |
| -* https://github.com/openedx/frontend-app-library-authoring/blob/master/README.rst has many of the above discussed |
72 |
| - sections and implements them well |
| 256 | +Reporting Security Issues |
| 257 | +========================= |
73 | 258 |
|
74 |
| -* https://opencraft.com/blog/introducing-open-edx-publisher/#how-does-it-work is an example of explaining when |
75 |
| - env variables/settings are required |
| 259 | +Please do not report security issues in public. Email [email protected] instead. |
0 commit comments