{"id":20037884,"url":"https://github.com/openedx/frontend-app-learner-dashboard","last_synced_at":"2025-04-06T10:11:27.314Z","repository":{"id":46242501,"uuid":"499552129","full_name":"openedx/frontend-app-learner-dashboard","owner":"openedx","description":"Learner Dashboard MFE","archived":false,"fork":false,"pushed_at":"2025-03-21T15:12:47.000Z","size":7666,"stargazers_count":9,"open_issues_count":27,"forks_count":111,"subscribers_count":38,"default_branch":"master","last_synced_at":"2025-03-21T18:03:11.827Z","etag":null,"topics":["pr-sandboxes-enabled"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"muselesscreator/frontend-app-learner-dashboard","license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openedx.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-03T14:59:36.000Z","updated_at":"2025-03-21T15:08:39.000Z","dependencies_parsed_at":"2023-12-22T12:27:06.485Z","dependency_job_id":"157f706e-e4ab-4c45-8a24-4db756720bfa","html_url":"https://github.com/openedx/frontend-app-learner-dashboard","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openedx%2Ffrontend-app-learner-dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openedx%2Ffrontend-app-learner-dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openedx%2Ffrontend-app-learner-dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openedx%2Ffrontend-app-learner-dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openedx","download_url":"https://codeload.github.com/openedx/frontend-app-learner-dashboard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247464220,"owners_count":20942970,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["pr-sandboxes-enabled"],"created_at":"2024-11-13T10:23:35.238Z","updated_at":"2025-04-06T10:11:27.284Z","avatar_url":"https://github.com/openedx.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"|license-badge| |status-badge| |ci-badge| |codecov-badge|\n\n.. |license-badge| image:: https://img.shields.io/github/license/openedx/frontend-app-learner-dashboard.svg\n    :target: https://github.com/openedx/frontend-app-learner-dashboard/blob/master/LICENSE\n    :alt: License\n.. |status-badge| image:: https://img.shields.io/badge/Status-Maintained-brightgreen\n    :alt: Maintained\n.. |ci-badge| image:: https://github.com/openedx/frontend-app-learner-dashboard/actions/workflows/ci.yml/badge.svg\n    :target: https://github.com/openedx/frontend-app-learner-dashboard/actions/workflows/ci.yml\n    :alt: Continuous Integration\n.. |codecov-badge| image:: https://codecov.io/github/openedx/frontend-app-learner-dashboard/coverage.svg?branch=master\n    :target: https://app.codecov.io/github/openedx/frontend-app-learner-dashboard?branch=master\n    :alt: Codecov\n\nfrontend-app-learner-dashboard\n==============================\n\nThe Learner Home app is a microfrontend (MFE) course listing experience for the Open edX Learning Management System\n(LMS).  This experience was designed to provide a clean and functional interface to allow learners to view all of their\nopen enrollments, as well as take relevant actions on those enrollments.  It also serves as host to a number of exposed\n\"widget\" containers to provide upsell and discovery widgets as sidebar/footer components.\n\nQuickstart\n----------\n\nTo start the MFE and enable the feature in LMS:\n\n1. Start the MFE with ``npm run start``. Take a note of the path/port (defaults to ``http://localhost:1996``).\n\nFrom there, simply load the configured address/port.  You should be prompted to log into your LMS if you are not\nalready, and then redirected to your home page.\n\nPlugins\n-------\nThis MFE can be customized using `Frontend Plugin Framework \u003chttps://github.com/openedx/frontend-plugin-framework\u003e`_.\n\nThe parts of this MFE that can be customized in that manner are documented `here \u003c/src/plugin-slots\u003e`_.\n\nContributing\n------------\n\nA core goal of this app is to provide a clean experimentation interface.  To promote this end, we have provided a\nsilo'ed code directory at ``src/widgets`` in which contributors should add their custom widget components.  In order to\nensure our ability to maintain the code stability of the app, the code for these widgets should be strictly contained\nwithin the bounds of that directory.\n\nOnce written, the widgets can be configured into one of our widget containers at ``src/containers/WidgetContainers``.\nThis can include conditional logic, as well as Optimizely triggers. It is important to note that our integration tests\nwill isolate and ignore these containers, and thus testing your widget is the response of the creator/maintainer of the\nwidget itself.\n\nSome guidelines for writing widgets:\n\n* Code for the widget should be strictly confined to the ``src/widgets`` directory.\n* You can load data from the redux store, but should not add or modify fields in that structure.\n* Network events should be managed in component hooks, though can use our ``data/constants/requests:requestStates`` for\n  ease of tracking the request states.\n\nLicense\n-------\n\nThe code in this repository is licensed under the AGPLv3 unless otherwise noted.\n\nPlease see the `license`_ for more info.\n\n.. _license: https://github.com/openedx/frontend-app-learner-dashboard/blob/master/LICENSE\n\nGetting Help\n------------\n\nIf you're having trouble, we have discussion forums at https://discuss.openedx.org where you can connect with others in\nthe community.\n\nOur real-time conversations are on Slack. You can request a `Slack invitation`_, then join our\n`community Slack workspace`_.  Because this is a frontend repository, the best place to discuss it would be in the\n`#wg-frontend channel`_.\n\nFor anything non-trivial, the best path is to open an issue in this repository with as many details about the issue you\nare facing as you can provide.\n\nhttps://github.com/openedx/frontend-app-learner-dashboard/issues\n\nFor more information about these options, see the `Getting Help`_ page.\n\n.. _Slack invitation: https://openedx.org/slack\n.. _community Slack workspace: https://openedx.slack.com/\n.. _#wg-frontend channel: https://openedx.slack.com/archives/C04BM6YC7A6\n.. _Getting Help: https://openedx.org/community/connect\n\nResources\n---------\n\nAdditional info about the Learner Home MFE project can be found on the `Open edX Wiki`_.\n\n.. _Open edX Wiki: https://openedx.atlassian.net/wiki/spaces/OEPM/pages/3575906333/Learner+Home\n\nThe Open edX Code of Conduct\n----------------------------\n\nAll community members are expected to follow the `Open edX Code of Conduct`_.\n\n.. _Open edX Code of Conduct: https://openedx.org/code-of-conduct/\n\nReporting Security Issues\n-------------------------\n\nPlease do not report security issues in public. Please email security@openedx.org.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenedx%2Ffrontend-app-learner-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenedx%2Ffrontend-app-learner-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenedx%2Ffrontend-app-learner-dashboard/lists"}