javascript-exercises
javascript-exercises copied to clipboard
Repo: Restructure to group exercises based on curriculum structure
Prerequisites
- [x] I have thoroughly read and understand The Odin Project Contributing Guide
- [x] I have searched the existing issues to ensure this improvement hasn't been suggested before (please have a look through our open issues list to make sure)
- [x] The title of this issue follows the
<Location of the improvement>: <Brief description of the improvement>format, e.g.Exercises: Add exercise on XYZ - [x] (Optional) I am interested in working on this issue and would like to be assigned to it
Improvement Description
Very big proposal and certainly not urgent by any means.
In a similar vein to https://github.com/TheOdinProject/css-exercises/issues/593, I'm proposing a restructure of this repo so the existing exercises are grouped into a foundations directory. They could be further grouped into subdirectories but I actually think they're fine just all together in a foundations dir.
With the open PRs adding new exercises as a part of https://github.com/TheOdinProject/curriculum/issues/27265, this repo won't be exclusive to the Foundations course. If further exercises are added to this repo, they may not be appropriate to add to the end, but putting them earlier will require many files to be renamed with an appropriate number. This can be minimised if exercises are appropriately grouped. New groups can have a new dir made, leaving other exercise dirs untouched, and if any new exercises do have to be slotted in-between existing exercises in a group, it'll potentially reduce the number of files/dirs that'd need to be changed.
An example structure would be
├── computer_science
│ └── recursion
│ └── <put all the open PR recursion exercises here when approved>
└── foundations
├── 01_helloWorld
├── 02_addNumbers
├── 03_numberChecker
├── 04_mathEquations
├── 05_joinStrings
├── 06_repeatString
├── 07_reverseString
├── 08_removeFromArray
├── 09_sumAll
├── 10_leapYears
├── 11_tempConversion
├── 12_calculator
├── 13_palindromes
├── 14_fibonacci
├── 15_getTheTitles
└── 16_findTheOldest
Acceptance Criteria
- [ ] All 16 foundations JS exercises are moved into a top-level
foundations/directory. - [ ] Rephrase any relevant parts of the repo's
README.mdto account for the new structure. - [ ] The "Arrays and Loops" and "Object Basics" lessons' assignments rephrased to reference the
foundations/exercises dir and link to it (similar to how this was handled in https://github.com/TheOdinProject/curriculum/pull/28922. - [ ] Amend
generators/andplopFile.jsto allow adding new directories and exercises as necessary (~~probably going to be the most complex part~~ Edit: a fair fewplop.setGeneratorchanges but I've played around and got this working as desired). - [ ] Amend
CONTRIBUTING.mdwith updated plop prompts instructions. - [ ] Discord server announcement made regarding the restructure, providing git commands for community members to update their forks, similar to the CSS exercises repo restructure announcement.
If this is approved, depending on whether the open recursion exercises PRs gets merged first or not, one of either:
- [ ] The open recursion exercises PRs are amended to place the exercises in
computer_science/recursion/and renumber the exercises. - [ ] The merged exercises CS exercises are moved into a
computer-science/recursion/directory and renumbered.
(Optional) Additional Comments
No response