diff --git a/README.md b/README.md index ace280c..10fac2d 100755 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +# frontend-app-gradebook + [![Build Status](https://api.travis-ci.com/edx/frontend-app-gradebook.svg?branch=master)](https://travis-ci.com/edx/frontend-app-gradebook) [![Codecov](https://img.shields.io/codecov/c/gh/openedx/frontend-app-gradebook)](https://app.codecov.io/gh/openedx/frontend-app-gradebook) [![npm_version](https://img.shields.io/npm/v/@edx/frontend-app-gradebook.svg)](@edx/frontend-app-gradebook) @@ -5,7 +7,7 @@ [![license](https://img.shields.io/npm/l/@edx/frontend-app-gradebook.svg)](@edx/frontend-app-gradebook) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release) -# Gradebook +# Purpose Gradebook allows course staff to view, filter, and override subsection grades for a course. Additionally for Masters courses, Gradebook enables bulk management of subsection grades. @@ -47,7 +49,8 @@ depending on their needs. Instructors that expect to review grades infrequently to the problem in question will have a worse UX than the legacy gradebook provides. Instructors that rely on the graphs generated by the current gradebook might find the lack of autogenerated graphs to be frustrating. -## Quickstart +## Getting Started + ### Installation @@ -55,6 +58,20 @@ To install gradebook into your project: ``` npm i --save @edx/frontend-app-gradebook ``` +Cloning and Startup +=================== + +1. Clone your new repo: + + ``git clone https://github.com/openedx/frontend-app-gradebook.git`` + +2. Install npm dependencies: + + ``cd frontend-app-gradebook && npm install`` + +3. Start the dev server: + + ``npm start`` ## Running the UI Standalone @@ -119,3 +136,57 @@ running gradebook container. ## Authentication with backend API services See the [`@edx/frontend-auth`](https://github.com/edx-unsupported/frontend-auth) repo for information about securing routes in your application that require user authentication. + +License +======= + +The code in this repository is licensed under the AGPLv3 unless otherwise +noted. + +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. + +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-gradebook/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 + +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/ + +Reporting Security Issues +========================= +Please do not report security issues in public. Please email security@openedx.org. diff --git a/src/App.jsx b/src/App.jsx index 01d1b0b..2439e46 100755 --- a/src/App.jsx +++ b/src/App.jsx @@ -6,7 +6,6 @@ import { AppProvider } from '@edx/frontend-platform/react'; import Footer from '@edx/frontend-component-footer'; import Header from '@edx/frontend-component-header'; -import { routePath } from 'data/constants/app'; import store from 'data/store'; import GradebookPage from 'containers/GradebookPage'; import './App.scss'; @@ -20,7 +19,7 @@ const App = () => (
} /> diff --git a/src/App.test.jsx b/src/App.test.jsx index 4ed87af..79fbff8 100644 --- a/src/App.test.jsx +++ b/src/App.test.jsx @@ -7,7 +7,6 @@ import { AppProvider } from '@edx/frontend-platform/react'; import Footer from '@edx/frontend-component-footer'; import Header from '@edx/frontend-component-header'; -import { routePath } from 'data/constants/app'; import store from 'data/store'; import GradebookPage from 'containers/GradebookPage'; @@ -21,9 +20,6 @@ jest.mock('react-router-dom', () => ({ jest.mock('@edx/frontend-platform/react', () => ({ AppProvider: () => 'AppProvider', })); -jest.mock('data/constants/app', () => ({ - routePath: '/:courseId', -})); jest.mock('@edx/frontend-component-footer', () => 'Footer'); jest.mock('data/store', () => 'testStore'); jest.mock('containers/GradebookPage', () => 'GradebookPage'); @@ -66,7 +62,7 @@ describe('App router component', () => { expect(secondChild.find('main')).toEqual(shallow(
- } /> + } />
, )); diff --git a/src/data/constants/app.js b/src/data/constants/app.js index fad26bc..c5d3d89 100644 --- a/src/data/constants/app.js +++ b/src/data/constants/app.js @@ -1,7 +1,4 @@ import { StrictDict } from 'utils'; -import { getConfig } from '@edx/frontend-platform'; - -export const routePath = `${getConfig().PUBLIC_PATH}:courseId`; export const views = StrictDict({ grades: 'grades',