Skip to content

Commit 250315f

Browse files
Adolfo R. Brandesarbrandes
authored andcommitted
docs: Update READMEs
Update both the repository's README.rst and the template to reflect the current requirements as per [OEP-55](https://open-edx-proposals.readthedocs.io/en/latest/processes/oep-0055/decisions/0003-readme-specification.html).
1 parent 02b96d5 commit 250315f

File tree

3 files changed

+377
-73
lines changed

3 files changed

+377
-73
lines changed

README-template-frontend-app.rst

Lines changed: 223 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,259 @@
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+
##########################
23

3-
frontend-app-[YOUR NAME HERE]
4-
==============================
4+
.. note::
55

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.
710

8-
Introduction
9-
------------
11+
|license-badge| |status-badge| |ci-badge| |codecov-badge|
1012

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
1216

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
1518

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
1822

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
2126

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+
=======
2329

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.
2562

2663
.. code-block::
2764
2865
mkdir -p ~/workspace/
2966
cd ~/workspace/
3067
git clone https://github.com/openedx/devstack.git
3168
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
33120
121+
#. Finally, open the MFE in a browser
34122

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:
36125

37-
Environment Variables/Setup Notes
38-
---------------------------------
126+
.. figure:: ./docs/images/template.jpg
39127

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.
42129

43-
Any Other Relevant Sections
44-
---------------------------
130+
Configuration
131+
-------------
45132

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.
48160

49161
Known Issues
50-
------------
162+
============
163+
164+
.. note::
51165

52-
* A bulleted list of issues, ideally with JIRA ticket numbers attached
166+
[TODO]
53167

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.
55170

56171
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.
58239

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+
============================
60242

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`_.
63244

64-
* OR - a link to a publically available wiki/document
245+
.. _Open edX Code of Conduct: https://openedx.org/code-of-conduct/
65246

247+
People
248+
======
66249

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.
68253

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]
70255

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+
=========================
73258

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

Comments
 (0)