openedx / openedx/frontend-app-learner-dashboard
[Documentation] Add comments explaining currentList.js and redux files
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 14
- Forks
- 208
- Avg merge
- 59m
- Merged PRs (30d)
- 2
Description
The currentList.js file is what maintains the state for the visible list of courses that is eventually used by the CourseList component to render a list of CourseCards. It would behoove us to understand this file a little better. Currently, it doesn’t have any comments explaining what it does so consider adding some to explain the core functions.
There are also a handful of redux files that add layers of abstraction that may be confusing to new developers on the project.
Things to document for redux:
Selectors and learning how to differentiate them, for example, what is the difference between appSelectors, simpleSelectors, and courseCard selectors.
What this app.js file is doing may also be helpful
Explain the requests slice and how there are multiple slices for the store
In terms of where these comments should exist, it'd probably be the most helpful to either include them in the files themselves and/or the README.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with src/data/redux/app/selectors/currentList.js and compare its selectors with appSelectors.js, simpleSelectors.js, and courseCard.js. Read src/data/redux/hooks/app.js and the src/data/redux/requests slice, then document the selector distinctions, app hook, and store slices in the relevant files or README. Done means a new developer can understand these abstractions and how CourseList uses the visible course list.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, redux
- Domain
- documentation, frontend
- Issue type
- Documentation
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100