Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/openedx/frontend-app-learner-record

Open edX micro-frontend application for viewing learner records
https://github.com/openedx/frontend-app-learner-record

Last synced: about 1 month ago
JSON representation

Open edX micro-frontend application for viewing learner records

Awesome Lists containing this project

README

        

###########################
frontend-app-learner-record
###########################

|Build Status| |Codecov| |license|

*******
Purpose
*******

The Learner Record provides information about the enrolled programs for a user.
It contains views for a learners current status in a program, their current grade, and the ability to share any earned credentials either publically or with institutions.

Verifiable Credentials
======================

Optionally, this micro-frontend allows `verifiable credentials`_ creation for already achieved Open edX credentials (currently, program certificates only).

This is the Learner Record micro-frontend, currently under development by `edX `_.

.. _verifiable credentials: https://en.wikipedia.org/wiki/Verifiable_credentials

***************
Getting Started
***************

Developing
==========

One Time Setup
==============

.. code-block::

# Clone the repository via SSH
git clone [email protected]:openedx/frontend-app-learner-record.git

# Enter the directory
cd frontend-app-learner-record

# Clean Install dependencies
npm ci

# Start the Learner Record MFE
npm start

The page will then be hosted on http://localhost:1990/

Every time you develop something in this repo
=============================================
.. code-block::

# Grab the latest code
git fetch
git pull

# Make a new branch for your changes
git checkout -b /

# Clean install/update the dev requirements
npm ci

# Start the Learner Record MFE
npm start

# Using your favorite editor, edit the code to make your change.
vim ...

# Run the tests after making changes (to verify the status before you make any changes)
npm test

# Commit all your changes
git commit ...
git push

# Open a PR and ask for review after the github CI has passed.

Environment Variables/Setup Notes
=================================

Currently, this MFE is not intergrated into the devstack, and must be run locally. This MFE requires credentials to be running, and will use a REST API from the Credentials IDA located at `credentials/apps/records/rest_api`.

Credentials requires configuring a Django setting to support directing traffic to the Learner Record MFE:

* ``LEARNER_RECORD_MFE_RECORDS_PAGE_URL`` -- The base URL of the Learner Record MFE

For more info, see the Learner Records documentation on ReadTheDocs: https://edx-credentials.readthedocs.io/en/latest/learner_records.html.

This MFE has a setting of its own:

* ``SUPPORT_URL_LEARNER_RECORDS`` -- A link to a help/support center for learners who run into problems whilst trying to share their records

Verifiable Credentials
......................

An optional feature. It is behind a feature flag.
The feature introduces two environment variables:

* ``ENABLE_VERIFIABLE_CREDENTIALS`` -- Toggles the Verifiable Credentials feature (used by the Credentials IDA and this micro-frontend)
* ``SUPPORT_URL_VERIFIABLE_CREDENTIALS`` -- A link to a help/support center for learners who run into problems while trying to create their verifiable credential

The Verifiable Credentials UI is a functional addition to the corresponding backend app. It will use a REST API from the Credentials IDA located at `credentials/apps/verifiable_credentials/rest_api`.

Project Structure
=================

The source for this project is organized into nested submodules according to the ADR `Feature-based Application Organization `_.

Deploying
=========

**Production Build**

The production build is created with ``npm run build``.

General deployment information can be found in the `Microfrontend onboarding`_ documentation, along with other MFE implementation details.

.. _Microfrontend onboarding: https://openedx.atlassian.net/wiki/spaces/FEDX/pages/2629829454/Micro+Frontend+MFE+Onboarding#Deployment

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

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-learner-record/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/
.. _Getting Help: https://openedx.org/getting-help

License
=======

The code in this repository is licensed under the `GNU AFFERO GENERAL PUBLIC LICENSE` unless
otherwise noted.

Please see `LICENSE.txt `_ for details.

Contributing
============

Contributions are very welcome.
Please read `How To Contribute `_ for details.

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/

People
======

The assigned maintainers for this component and other project details may be
found in `Backstage`_. Backstage pulls this data from the ``catalog-info.yaml``
file in this repo.

.. _Backstage: https://open-edx-backstage.herokuapp.com/catalog/default/component/{{ cookiecutter.repo_name }}

Reporting Security Issues
=========================

Please do not report security issues in public. Please email [email protected].

.. |Build Status| image:: https://api.travis-ci.com/edx/frontend-app-learner-record.svg?branch=master
:target: https://travis-ci.com/edx/frontend-app-learner-record
.. |Codecov| image:: https://codecov.io/gh/edx/frontend-app-learner-record/branch/master/graph/badge.svg
:target: https://codecov.io/gh/edx/frontend-app-learner-record
.. |license| image:: https://img.shields.io/npm/l/@edx/frontend-app-learner-record.svg
:target: https://github.com/openedx/frontend-app-learner-record/blob/master/LICENSE