Description
The project list registry is currently hardcoded and duplicated across multiple files:
search_projects.py (under the PROJECTS array).
utilities/Progress-Tracker/Progress-Tracker.py (under the ALL_PROJECTS dictionary).
- The Web App tracker system.
This duplication leads to inconsistencies when new projects are added.
Proposed Solution
- Create a central
projects_registry.json database at the root of the project.
- The JSON should store schema information for each project:
[
{
"name": "Rock Paper Scissors",
"emoji": "🪨",
"category": "games",
"difficulty": "beginner",
"description": "Battle against the computer...",
"keywords": ["rock", "paper", "scissors"],
"path": "games/Rock-Paper-Scissor/Rock-Paper-Scissor.py"
}
]
- Refactor
search_projects.py to read dynamically from this file using the json module.
- Refactor
Progress-Tracker.py to populate its category lists dynamically using this file.
Description
The project list registry is currently hardcoded and duplicated across multiple files:
search_projects.py(under thePROJECTSarray).utilities/Progress-Tracker/Progress-Tracker.py(under theALL_PROJECTSdictionary).This duplication leads to inconsistencies when new projects are added.
Proposed Solution
projects_registry.jsondatabase at the root of the project.[ { "name": "Rock Paper Scissors", "emoji": "🪨", "category": "games", "difficulty": "beginner", "description": "Battle against the computer...", "keywords": ["rock", "paper", "scissors"], "path": "games/Rock-Paper-Scissor/Rock-Paper-Scissor.py" } ]search_projects.pyto read dynamically from this file using thejsonmodule.Progress-Tracker.pyto populate its category lists dynamically using this file.