Skip to content

Project Structure

Sam edited this page Jul 21, 2025 · 1 revision

📂 Project Structure

This page explains how this learning repository is organised, what each directory is for, and how to contribute or expand your learning materials without losing structure.


🧱 Top-Level Layout

.
├── 00-ROADMAP.md          # High-level checklist of topics
├── 01-NOTES/              # Topic-based learning notes
├── 02-EXERCISES/          # Practice tasks and code drills
├── 03-PROJECTS/           # Mini and fullstack projects
├── 04-RESOURCES/          # Useful links and cheatsheets
├── 05-REFLECTIONS/        # Weekly learning journals
├── 06-TRACKING/           # Task lists and automation helpers
│   ├── TO-LEARN.md
│   ├── TASKS.md
│   └── PROJECTS.md
├── milestones.md          # Milestone progress overview
└── .github/               # GitHub Actions, templates, labels

🗂️ Directory Purpose

Path Purpose
00-ROADMAP.md Master checklist of your learning journey
01-NOTES/ Notes for each topic (HTML, CSS, JS, etc.)
02-EXERCISES/ Simple code practice like FizzBuzz, layout drills, etc.
03-PROJECTS/ 3 per topic — beginner, intermediate, and advanced projects
04-RESOURCES/ Bookmarks, reference guides, cheat sheets
05-REFLECTIONS/ Logs of what you learned each week
06-TRACKING/ Task lists, label mappings, and GitHub automation helpers
.github/ GitHub Actions, workflows, issue templates
milestones.md Manual tracker for big learning milestones

🧾 Naming Conventions

Item Format Example
Note 01-NOTES/HTML.md CSS.md, React/hooks.md
Exercise 02-EXERCISES/JS/fizzbuzz.js File or folder with clear purpose
Project 03-PROJECTS/React/TodoApp/ One folder per project
Reflection 05-REFLECTIONS/2025-07-Week29.md Dated by week
Commit ✨ feat(js): add quiz app Emoji prefix + category + summary

✅ Adding New Material

  1. Decide whether your item is a note, exercise, project, or reflection.
  2. Add it to the correct folder, following the naming style above.
  3. Create a GitHub Issue and label it (e.g., topic:react, type:project, status:in-progress).
  4. Push a branch, commit with prefix (✨ feat:), and open a Pull Request.
  5. When merged, update 00-ROADMAP.md and milestones.md.

🔗 Cross-Linking

You can link notes to other files or wiki pages:

  • [JavaScript Notes](../01-NOTES/JavaScript.md)
  • [[JavaScript Essentials]] ← for Wiki links

✨ Example Workflow

You're starting React:

  • Create a new note: 01-NOTES/React/hooks.md
  • Open an Issue: “Learn useState and useEffect”
  • Start a project: 03-PROJECTS/React/CounterApp/
  • Add exercises: 02-EXERCISES/React/useState-practice.js
  • Reflect on learnings: 05-REFLECTIONS/2025-07-Week30.md

🔁 Reusability & Automation

Use the following to support scaling the repo:

  • Auto-label Issues with .github/labeler.yml
  • Use GitHub Projects to track issues visually
  • Update milestones.md weekly

💡 Tips

  • Markdown files only; no complex build tools needed
  • Prefer small, atomic commits
  • Keep notes personal and reflection-based

📘 See Also

📘 Wiki Navigation

🧭 Getting Started

📚 Learning Guides

📘 Full-Stack Topics

🧠 Extras

Clone this wiki locally