{"id":20037892,"url":"https://github.com/openedx/frontend-app-communications","last_synced_at":"2025-06-30T23:40:53.718Z","repository":{"id":37478599,"uuid":"434664222","full_name":"openedx/frontend-app-communications","owner":"openedx","description":"Frontend to manage instructor-learner communications","archived":false,"fork":false,"pushed_at":"2025-06-30T00:13:55.000Z","size":4963,"stargazers_count":1,"open_issues_count":10,"forks_count":46,"subscribers_count":60,"default_branch":"master","last_synced_at":"2025-06-30T01:24:41.484Z","etag":null,"topics":["frontend-app","pr-sandboxes-enabled","tutor-supported"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-12-03T16:33:28.000Z","updated_at":"2025-06-30T00:13:58.000Z","dependencies_parsed_at":"2023-10-16T14:28:14.777Z","dependency_job_id":"8085329f-9212-4175-8bfd-9e21c8db7766","html_url":"https://github.com/openedx/frontend-app-communications","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":"openedx/frontend-template-application","purl":"pkg:github/openedx/frontend-app-communications","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openedx%2Ffrontend-app-communications","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openedx%2Ffrontend-app-communications/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openedx%2Ffrontend-app-communications/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openedx%2Ffrontend-app-communications/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openedx","download_url":"https://codeload.github.com/openedx/frontend-app-communications/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openedx%2Ffrontend-app-communications/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262869383,"owners_count":23377280,"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":["frontend-app","pr-sandboxes-enabled","tutor-supported"],"created_at":"2024-11-13T10:23:36.396Z","updated_at":"2025-06-30T23:40:53.654Z","avatar_url":"https://github.com/openedx.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"frontend-app-communications\n###########################\n\n|license-badge| |status-badge| |ci-badge| |codecov-badge|\n\n\nPurpose\n*******\n\nA tool used by course teams to communicate with their learners. The interface for anything related to instructor-to-learner communications. Instructor bulk email, for example.\n\nGetting started\n---------------\n\nFor now, this repo is not integrated with devstack. You'll be running the app locally and not through docker. This does make setup a little easier.\n\nCloning and Startup\n===================\n\n1. Clone your new repo:\n\n.. code-block:: bash\n\n   git clone https://github.com/edx/frontend-app-communications.git\n\n2. Use node v18.x.\n\n   The current version of the micro-frontend build scripts supports node 18.\n   Using other major versions of node *may* work, but this is unsupported.  For\n   convenience, this repository includes a ``.nvmrc`` file to help in setting the\n   correct node version via `nvm \u003chttps://github.com/nvm-sh/nvm\u003e`_.\n\n3. Install npm dependencies:\n\n.. code-block:: bash\n\n   cd frontend-app-communications \u0026\u0026 npm install\n\n4. Update the application port to use for local development:\n\n   The default port is 1984. If this does not work for you, update the line\n   ``PORT=1984`` to your port in all ``.env.*`` files\n\n5. Start the devserver. The app will be running at ``localhost:1984``, or whatever port you change it too.\n\n   .. code-block:: bash\n\n      npm start\n\n\nEnvironment Variables/Setup Notes\n---------------------------------\n\nIf you wish to add new environment variables for local testing, they should be listed in 2 places:\n\n1. In ``.env.development``\n2. Added to the ``mergeConfig`` found in ``src/index.jsx``\n\n.. code-block:: jsx\n\n   initialize({\n      config: () =\u003e {\n       mergeConfig({\n       EXAMPLE_VALUE: true,\n       }, 'CommuncationsAppConfig');\n\nRunning Tests\n-------------\n\nTests use `jest` and `react-test-library`. To run all the tests for this repo:\n\n.. code-block::\n\n   npm test\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\n**Production Build**\n\nThe production build is created with ``npm run build``.\n\nInternationalization\n====================\n\nPlease refer to the `frontend-platform i18n howto`_ for documentation on\ninternationalization.\n\n.. _frontend-platform i18n howto: https://github.com/openedx/frontend-platform/blob/master/docs/how_tos/i18n.rst\n\nGetting Help\n************\n\nIf you're having trouble, we have discussion forums at\nhttps://discuss.openedx.org where you can connect with others in the community.\n\nOur real-time conversations are on Slack. You can request a `Slack\ninvitation`_, then join our `community Slack workspace`_.  Because this is a\nfrontend repository, the best place to discuss it would be in the `#wg-frontend\nchannel`_.\n\nFor anything non-trivial, the best path is to open an issue in this repository\nwith as many details about the issue you are facing as you can provide.\n\nhttps://github.com/openedx/frontend-app-communications/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\nLicense\n*******\n\nThe code in this repository is licensed under the AGPLv3 unless otherwise\nnoted.\n\nPlease see `LICENSE \u003cLICENSE\u003e`_ for details.\n\nContributing\n************\n\nContributions are very welcome.  Please read `How To Contribute`_ for details.\n\n.. _How To Contribute: https://openedx.org/r/how-to-contribute\n\nThis project is currently accepting all types of contributions, bug fixes,\nsecurity fixes, maintenance work, or new features.  However, please make sure\nto have a discussion about your new feature idea with the maintainers prior to\nbeginning development to maximize the chances of your change being accepted.\nYou can start a conversation by creating a new issue on this repo summarizing\nyour idea.\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\nPeople\n******\n\nThe assigned maintainers for this component and other project details may be\nfound in `Backstage`_. Backstage pulls this data from the ``catalog-info.yaml``\nfile in this repo.\n\n.. _Backstage: https://open-edx-backstage.herokuapp.com/catalog/default/component/frontend-app-communications\n\nReporting Security Issues\n*************************\n\nPlease do not report security issues in public, and email security@openedx.org instead.\n\n.. |license-badge| image:: https://img.shields.io/github/license/openedx/frontend-app-communications.svg\n    :target: https://github.com/openedx/frontend-app-communications/blob/master/LICENSE\n    :alt: License\n\n.. |status-badge| image:: https://img.shields.io/badge/Status-Maintained-brightgreen\n\n.. |ci-badge| image:: https://github.com/openedx/frontend-app-communications/actions/workflows/ci.yml/badge.svg\n    :target: https://github.com/openedx/frontend-app-communications/actions/workflows/ci.yml\n    :alt: Continuous Integration\n\n.. |codecov-badge| image:: https://codecov.io/github/openedx/frontend-app-communications/coverage.svg?branch=master\n    :target: https://codecov.io/github/openedx/frontend-app-communications?branch=master\n    :alt: Codecov\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenedx%2Ffrontend-app-communications","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenedx%2Ffrontend-app-communications","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenedx%2Ffrontend-app-communications/lists"}