diff --git a/README.rst b/README.rst index b1d2f39678..df3cf427f9 100644 --- a/README.rst +++ b/README.rst @@ -1,10 +1,12 @@ -|codecov| |license| - +##################### frontend-app-learning -========================= +###################### + +|codecov| |license| -Introduction ------------- +******** +Purpose +******** This is the Learning MFE (micro-frontend application), which renders all learner-facing course pages (like the course outline, the progress page, @@ -17,19 +19,56 @@ Please tag **@edx/engage-squad** on any PRs or issues. Thanks. .. |license| image:: https://img.shields.io/badge/license-AGPL-informational :target: https://github.com/openedx/frontend-app-account/blob/master/LICENSE -Development ------------ +*************** +Getting Started +*************** + +Prerequisites +============= + +The `devstack`_ is currently recommended as a development environment for your +new MFE. If you start it with ``make dev.up.lms`` that should give you +everything you need as a companion to this frontend. + +Note that it is also possible to use `Tutor`_ to develop an MFE. You can refer +to the `relevant tutor-mfe documentation`_ to get started using it. + +.. _Devstack: https://github.com/openedx/devstack + +.. _Tutor: https://github.com/overhangio/tutor -Start Devstack -^^^^^^^^^^^^^^ +.. _relevant tutor-mfe documentation: https://github.com/overhangio/tutor-mfe#mfe-development To use this application, `devstack `__ must be running and you must be logged into it. -- Run ``make dev.up.lms`` - Visit http://localhost:2000/course/course-v1:edX+DemoX+Demo_Course to view the demo course. You can replace ``course-v1:edX+DemoX+Demo_Course`` with a different course key. +Cloning and Startup +=================== + +.. code-block:: + + 1. Clone your new repo: + + ``git clone https://github.com/openedx/frontend-app-learning.git`` + + 2. Use node v18.x. + + The current version of the micro-frontend build scripts support node 18. + Using other major versions of node *may* work, but this is unsupported. For + convenience, this repository includes an .nvmrc file to help in setting the + correct node version via `nvm `_. + + 3. Install npm dependencies: + + ``cd frontend-app-learning && npm ci`` + + 4. Start the dev server: + + ``npm start`` + Local module development -^^^^^^^^^^^^^^^^^^^^^^^^ +========================= To develop locally on modules that are installed into this app, you'll need to create a ``module.config.js`` file (which is git-ignored) that defines where to find your local modules, for instance:: @@ -55,14 +94,14 @@ file (which is git-ignored) that defines where to find your local modules, for i See https://github.com/openedx/frontend-build#local-module-configuration-for-webpack for more details. Deployment ----------- +========== The Learning MFE is similar to all the other Open edX MFEs. Read the Open edX Developer Guide's section on `MFE applications `_. Environment Variables -^^^^^^^^^^^^^^^^^^^^^ +====================== This MFE is configured via environment variables supplied at build time. All micro-frontends have a shared set of required environment variables, @@ -119,3 +158,59 @@ TWITTER_URL Example: https://twitter.com/edXOnline +Getting Help +=========== + +If you're having trouble, we have discussion forums at +https://discuss.openedx.org where you can connect with others in the community. + +Our real-time conversations are on Slack. You can request a `Slack +invitation`_, then join our `community Slack workspace`_. Because this is a +frontend repository, the best place to discuss it would be in the `#wg-frontend +channel`_. + +For anything non-trivial, the best path is to open an issue in this repository +with as many details about the issue you are facing as you can provide. + +https://github.com/openedx/frontend-app-learning/issues + +For more information about these options, see the `Getting Help`_ page. + +.. _Slack invitation: https://openedx.org/slack +.. _community Slack workspace: https://openedx.slack.com/ +.. _#wg-frontend channel: https://openedx.slack.com/archives/C04BM6YC7A6 +.. _Getting Help: https://openedx.org/community/connect + +Contributing +============ + +Contributions are very welcome. Please read `How To Contribute`_ for details. + +.. _How To Contribute: https://openedx.org/r/how-to-contribute + +This project is currently accepting all types of contributions, bug fixes, +security fixes, maintenance work, or new features. However, please make sure +to have a discussion about your new feature idea with the maintainers prior to +beginning development to maximize the chances of your change being accepted. +You can start a conversation by creating a new issue on this repo summarizing +your idea. + +The Open edX Code of Conduct +============================ + +All community members are expected to follow the `Open edX Code of Conduct`_. + +.. _Open edX Code of Conduct: https://openedx.org/code-of-conduct/ + +License +======= + +The code in this repository is licensed under the AGPLv3 unless otherwise +noted. + +Please see `LICENSE `_ for details. + +Reporting Security Issues +========================= + +Please do not report security issues in public. Please email security@openedx.org.