{"id":26908811,"url":"https://github.com/burnycoder/nested-skill-tree","last_synced_at":"2025-04-01T12:18:40.096Z","repository":{"id":285010184,"uuid":"956792586","full_name":"BurnyCoder/nested-skill-tree","owner":"BurnyCoder","description":"A simple application that displays a hierarchical skill tree with the ability to mark skills as completed and expand/collapse subtrees. Built with Python's standard tkinter library.","archived":false,"fork":false,"pushed_at":"2025-03-28T22:17:49.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-28T22:32:59.920Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BurnyCoder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-03-28T21:47:08.000Z","updated_at":"2025-03-28T22:17:52.000Z","dependencies_parsed_at":"2025-03-28T22:33:04.549Z","dependency_job_id":"e4531a7b-9d62-4f5c-8b08-d1b07acf8869","html_url":"https://github.com/BurnyCoder/nested-skill-tree","commit_stats":null,"previous_names":["burnycoder/nested-skill-tree"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BurnyCoder%2Fnested-skill-tree","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BurnyCoder%2Fnested-skill-tree/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BurnyCoder%2Fnested-skill-tree/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BurnyCoder%2Fnested-skill-tree/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BurnyCoder","download_url":"https://codeload.github.com/BurnyCoder/nested-skill-tree/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246635940,"owners_count":20809333,"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":[],"created_at":"2025-04-01T12:18:39.624Z","updated_at":"2025-04-01T12:18:40.090Z","avatar_url":"https://github.com/BurnyCoder.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nested Skill Tree\n\nA simple application that displays a hierarchical skill tree with the ability to mark skills as completed and expand/collapse subtrees. Built with Python's standard tkinter library.\n\n![Nested Skill Tree Screenshot](skill-tree.jpg)\n\n## Features\n\n- Hierarchical display of skills\n- Mark skills as completed or incomplete with a double-click\n- Expand and collapse subtrees\n- Parent skills are automatically marked as completed when all child skills are completed\n- Child skills inherit completion status from parent when parent is marked\n- Add new skills to any part of the tree\n- Expand all or collapse all nodes with a single click\n- Save your skill tree to a JSON file\n- Load skill trees from JSON files\n\n## Installation\n\n1. Ensure you have Python 3.6+ installed\n2. No external dependencies required - uses standard Python libraries\n\n## Usage\n\nRun the application:\n\n```bash\npython3 skill_tree.py\n```\n\n### How to Use\n\n- **Double-click** on any skill to mark it as completed or incomplete\n- **Click** on the arrow next to a skill to expand or collapse its subtree\n- **Add Skill** button allows you to add new skills to the tree\n- **Expand All** / **Collapse All** buttons to expand or collapse the entire tree\n- **Save Tree** / **Load Tree** buttons to save your progress or load existing skill trees\n\n## Sample Skill Tree\n\nThe application includes a sample skill tree file (`sample_tree.json`) with a more comprehensive structure that includes:\n- Mathematics (Arithmetic, Algebra, Geometry)\n- Programming (Web Development, Python)\n\nTo load this sample:\n1. Start the application\n2. Click the \"Load Tree\" button\n3. Navigate to and select the `sample_tree.json` file\n\n## Default Skill Tree\n\nThe application now loads a comprehensive mathematics skill tree from `math.txt` by default, which includes:\n\n- Arithmetic \u0026 Pre-Algebra\n- Algebra (Elementary, Intermediate, Precalculus)\n- Geometry\n- And many sub-skills within each category\n\nIf `math.txt` is not found, the application will fall back to a simple default skill tree structure:\n\n```\nArithmetic \u0026 Pre-Algebra\n- Basic Arithmetic\n  - Counting\nAlgebra\n- Elementary Algebra\n  - Linear Equations\n```\n\n## Customizing the Skill Tree\n\nYou can create your own skill tree in two ways:\n\n1. **Edit the math.txt file** - The application reads this file by default. The file uses indentation to indicate hierarchy (2 spaces per level).\n\n2. **Use the Application UI** - You can add skills using the \"Add Skill\" button and organize them as needed.\n\n3. **Code Modification** - Edit the `_populate_default_tree` method in the `SkillTreeApp` class in `skill_tree.py`.\n\n## Saving and Loading\n\nYou can save your skill tree progress using the \"Save Tree\" button. This creates a JSON file that includes your completion status.\n\nTo load a previously saved skill tree, click the \"Load Tree\" button and select your JSON file.\n\n## Customization\n\nTo add or modify skills, edit the `populate_tree` method in the `SkillTreeApp` class in `skill_tree.py`. ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fburnycoder%2Fnested-skill-tree","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fburnycoder%2Fnested-skill-tree","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fburnycoder%2Fnested-skill-tree/lists"}