{"id":34957613,"url":"https://github.com/dharmveer97/programming-mastery","last_synced_at":"2026-05-23T10:34:26.002Z","repository":{"id":325671886,"uuid":"1102012648","full_name":"dharmveer97/programming-mastery","owner":"dharmveer97","description":null,"archived":false,"fork":false,"pushed_at":"2025-11-22T18:01:07.000Z","size":670,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-22T18:23:23.707Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/dharmveer97.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-22T16:53:17.000Z","updated_at":"2025-11-22T18:01:10.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dharmveer97/programming-mastery","commit_stats":null,"previous_names":["dharmveer97/programming-mastery"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/dharmveer97/programming-mastery","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dharmveer97%2Fprogramming-mastery","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dharmveer97%2Fprogramming-mastery/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dharmveer97%2Fprogramming-mastery/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dharmveer97%2Fprogramming-mastery/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dharmveer97","download_url":"https://codeload.github.com/dharmveer97/programming-mastery/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dharmveer97%2Fprogramming-mastery/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28062765,"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","status":"online","status_checked_at":"2025-12-26T02:00:06.189Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-12-26T22:27:00.573Z","updated_at":"2025-12-26T22:27:03.544Z","avatar_url":"https://github.com/dharmveer97.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Complete JavaScript, TypeScript \u0026 Node.js Learning Repository\n\n\u003e **Master Full-Stack Development with 200+ Hands-On Exercises | Learn JavaScript, TypeScript, Node.js, Express, REST APIs \u0026 More**\n\n[![JavaScript](https://img.shields.io/badge/JavaScript-125%20Exercises-yellow?style=flat-square\u0026logo=javascript)](./javascript-mastery)\n[![TypeScript](https://img.shields.io/badge/TypeScript-18%20Exercises-blue?style=flat-square\u0026logo=typescript)](./src)\n[![Node.js](https://img.shields.io/badge/Node.js-90%20Exercises-green?style=flat-square\u0026logo=node.js)](./nodejs-mastery)\n[![License](https://img.shields.io/badge/License-GPL--3.0-red?style=flat-square)](LICENSE)\n\n---\n\n## 🎯 What You'll Learn\n\nThis comprehensive learning repository contains **200+ practical exercises** covering everything from JavaScript fundamentals to advanced Node.js backend development. Perfect for beginners and intermediate developers looking to master modern web development.\n\n### 🌟 Key Features\n\n✅ **200+ Real-World Exercises** - Practice with hands-on coding challenges\n✅ **3 Complete Learning Paths** - Frontend, Backend, or Full-Stack\n✅ **Automated Testing** - Instant feedback with Vitest\n✅ **Problem + Solution Format** - Learn at your own pace\n✅ **Production-Ready Skills** - Build real applications\n✅ **Zero to Hero** - Beginner friendly to advanced topics\n\n---\n\n## 📦 What's Inside\n\n### **1. JavaScript Mastery** - 125 Exercises 🟨\n\n**Path:** `./javascript-mastery`\n\nMaster modern JavaScript from fundamentals to advanced concepts:\n\n- **Fundamentals** (30) - Variables, functions, arrays, objects, control flow\n- **Advanced JS** (25) - Closures, prototypes, classes, OOP, design patterns\n- **Async Programming** (15) - Promises, async/await, callbacks, event loop\n- **Data Structures** (25) - Arrays, objects, maps, sets, linked lists, trees\n- **Algorithms** (20) - Sorting, searching, recursion, dynamic programming\n- **Design Patterns** (10) - Singleton, factory, observer, module patterns\n\n**Topics Covered:**\n\n- ES6+ syntax (arrow functions, destructuring, spread/rest)\n- Array methods (map, filter, reduce, forEach, find)\n- Functional programming concepts\n- Object-oriented programming (OOP)\n- DOM manipulation \u0026 event handling\n- Promises, async/await, fetch API\n- Error handling \u0026 debugging\n\n---\n\n### **2. TypeScript Tutorial** - 18 Exercises 🔵\n\n**Path:** `./src`\n\nLearn TypeScript type system and advanced type patterns:\n\n- Basic types (string, number, boolean, arrays)\n- Function types \u0026 parameters\n- Optional \u0026 required properties\n- Union \u0026 intersection types\n- Type utilities (Record, Pick, Omit, Partial)\n- Generics \u0026 type inference\n- Type guards \u0026 narrowing\n- Advanced type patterns\n\n**Perfect for:**\n\n- JavaScript developers learning TypeScript\n- Frontend developers using React, Vue, Angular\n- Anyone building type-safe applications\n\n---\n\n### **3. Node.js Mastery** - 90+ Exercises 🟢\n\n**Path:** `./nodejs-mastery`\n\nComplete backend development course following the [roadmap.sh/nodejs](https://roadmap.sh/nodejs):\n\n#### **📦 NPM \u0026 Package Management** (8 exercises)\n\n- npm basics (install, uninstall, update)\n- package.json configuration\n- Semantic versioning (SemVer)\n- npm scripts \u0026 automation\n- npx usage\n- package-lock.json\n- npm workspaces (monorepos)\n\n#### **🔧 Core Modules** (25 exercises)\n\n- **HTTP/HTTPS** - Creating servers, routing, headers\n- **File System (fs)** - Reading/writing files, streams\n- **Path** - Cross-platform path manipulation\n- **OS** - System information, CPU, memory\n- **URL** - URL parsing, query parameters\n- **Events** - Event emitters, listeners\n- **Stream** - Readable, writable, transform streams\n- **Buffer** - Binary data handling\n- **Crypto** - Hashing, encryption, security\n- **DNS** - DNS lookups \u0026 resolution\n- **Util, Assert, Readline** - Utilities \u0026 CLI tools\n\n#### **🌐 Web Development** (20 exercises)\n\n- HTTP module basics\n- Express.js framework\n- REST API development\n- Middleware patterns\n- Routing \u0026 route parameters\n- Request/response handling\n- Error handling\n- CORS \u0026 security headers\n\n#### **🔄 Async Programming** (12 exercises)\n\n- Callbacks \u0026 promises\n- async/await patterns\n- Event loop explained\n- Timers (setTimeout, setInterval, setImmediate)\n- process.nextTick\n- Microtasks vs macrotasks\n\n#### **🚀 Advanced Topics** (20 exercises)\n\n- Streams \u0026 buffers\n- Worker threads\n- Cluster module\n- Child processes\n- Authentication (JWT, OAuth)\n- Security best practices\n- Testing (Vitest, Jest)\n- Performance optimization\n\n---\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- Node.js 18+ installed\n- npm or yarn package manager\n- Code editor (VS Code recommended)\n\n### Option 1: JavaScript Mastery\n\n```bash\n# Clone the repository\ngit clone https://github.com/dharmveer97/programming-mastery.git\ncd programming-mastery/javascript-mastery\n\n# Install dependencies\nnpm install\n\n# Run tests in watch mode (recommended)\nnpm run test:watch\n\n# Or run all tests once\nnpm test\n```\n\n### Option 2: TypeScript Tutorial\n\n```bash\n# From root directory\nnpm install\n\n# Run exercises interactively\nnpm run exercise\n\n# Or run specific exercise\nnpm run e-01  # Exercise 1\nnpm run s-01  # Solution 1\n```\n\n### Option 3: Node.js Mastery\n\n```bash\ncd nodejs-mastery\n\n# Install dependencies\nnpm install\n\n# Run all tests (watch mode)\nnpm run test:watch\n\n# Run specific category\nnpm run fundamentals\nnpm run async\nnpm run http\n```\n\n---\n\n## 📊 Complete Exercise Breakdown\n\n| Category                    | Exercises | Topics                                | Difficulty        |\n| --------------------------- | --------- | ------------------------------------- | ----------------- |\n| **JavaScript Fundamentals** | 30        | Variables, functions, arrays, objects | ⭐ Beginner       |\n| **JavaScript Advanced**     | 25        | Closures, OOP, prototypes             | ⭐⭐ Intermediate |\n| **Async JavaScript**        | 15        | Promises, async/await                 | ⭐⭐ Intermediate |\n| **Data Structures**         | 25        | Arrays, trees, graphs                 | ⭐⭐⭐ Advanced   |\n| **Algorithms**              | 20        | Sorting, searching                    | ⭐⭐⭐ Advanced   |\n| **Design Patterns**         | 10        | Common JS patterns                    | ⭐⭐ Intermediate |\n| **TypeScript Basics**       | 10        | Types, interfaces                     | ⭐ Beginner       |\n| **TypeScript Advanced**     | 8         | Utilities, generics                   | ⭐⭐⭐ Advanced   |\n| **Node.js Core**            | 30        | Modules, fs, streams                  | ⭐⭐ Intermediate |\n| **NPM \u0026 Packages**          | 8         | Package management                    | ⭐ Beginner       |\n| **Express \u0026 APIs**          | 20        | REST APIs, middleware                 | ⭐⭐ Intermediate |\n| **Node.js Advanced**        | 20        | Auth, testing, performance            | ⭐⭐⭐ Advanced   |\n| **TOTAL**                   | **213**   | Complete full-stack                   | All Levels        |\n\n---\n\n## 🎯 Recommended Learning Paths\n\n### 🎨 Path 1: Frontend Developer (12 weeks)\n\n**Goal:** Build interactive web applications with TypeScript\n\n```\nWeek 1-2:   JavaScript Fundamentals (30 exercises)\nWeek 3-4:   JavaScript Advanced (25 exercises)\nWeek 5:     Async JavaScript (15 exercises)\nWeek 6-7:   Data Structures (25 exercises)\nWeek 8-9:   TypeScript Tutorial (18 exercises)\nWeek 10-11: Algorithms (20 exercises)\nWeek 12:    Design Patterns (10 exercises)\n```\n\n**You'll be able to:**\n\n- Build React, Vue, or Angular applications\n- Write type-safe code with TypeScript\n- Understand advanced JavaScript concepts\n- Solve algorithm challenges in interviews\n\n---\n\n### 🖥️ Path 2: Backend Developer (12 weeks)\n\n**Goal:** Build scalable REST APIs and backend services\n\n```\nWeek 1-2:   JavaScript Fundamentals (30 exercises)\nWeek 3:     Async JavaScript (15 exercises)\nWeek 4:     NPM \u0026 Package Management (8 exercises)\nWeek 5-6:   Node.js Core Modules (30 exercises)\nWeek 7-8:   HTTP \u0026 Express.js (20 exercises)\nWeek 9-10:  Advanced Node.js (20 exercises)\nWeek 11:    TypeScript Basics (10 exercises)\nWeek 12:    Build real projects\n```\n\n**You'll be able to:**\n\n- Build production-ready REST APIs\n- Work with databases (SQL, MongoDB)\n- Implement authentication (JWT, OAuth)\n- Deploy Node.js applications\n\n---\n\n### 🌐 Path 3: Full-Stack Developer (20 weeks)\n\n**Goal:** Master both frontend and backend development\n\n```\nComplete both Frontend and Backend paths\nPlus: Build 3 full-stack projects\n- E-commerce platform\n- Social media app\n- Real-time chat application\n```\n\n**You'll be able to:**\n\n- Build complete web applications\n- Handle frontend and backend\n- Deploy full-stack apps to production\n- Get hired as a full-stack developer\n\n---\n\n## 💻 Exercise Format\n\nEach exercise follows this structure:\n\n```javascript\n/**\n * EXERCISE: Array Filter Method\n *\n * Learn how to filter arrays based on conditions.\n *\n * YOUR TASK:\n * Implement a function that filters even numbers from an array.\n */\n\nexport const filterEvenNumbers = (numbers) =\u003e {\n  // TODO: Your code here\n  return [];\n};\n\n// TESTS (using Vitest)\ndescribe('Filter Even Numbers', () =\u003e {\n  it('should filter even numbers', () =\u003e {\n    expect(filterEvenNumbers([1, 2, 3, 4, 5, 6])).toEqual([2, 4, 6]);\n  });\n});\n```\n\n**Solution files are provided** - Compare your solution with the optimal approach!\n\n---\n\n## 📁 Repository Structure\n\n```\nprogramming-practice/\n│\n├── 📂 src/                          # TypeScript Tutorial\n│   ├── 01-basic-types.problem.ts\n│   ├── 01-basic-types.solution.ts\n│   ├── 02-functions.problem.ts\n│   └── ...\n│\n├── 📂 javascript-mastery/           # JavaScript Exercises\n│   ├── 📁 js-fundamentals/          # Basics (variables, functions, arrays)\n│   ├── 📁 js-advanced/              # Advanced (closures, OOP, prototypes)\n│   ├── 📁 async/                    # Promises, async/await\n│   ├── 📁 data-structures/          # Arrays, objects, trees, graphs\n│   ├── 📁 algorithms/               # Sorting, searching, recursion\n│   └── 📁 design-patterns/          # Common patterns\n│\n├── 📂 nodejs-mastery/               # Node.js Backend\n│   ├── 📁 npm-packages/             # npm \u0026 package management\n│   ├── 📁 node-core/                # Core modules (fs, http, streams)\n│   ├── 📁 async/                    # Event loop, timers\n│   ├── 📁 node-advanced/            # Express, APIs, auth\n│   ├── 📁 error-handling/           # Error management\n│   └── 📁 cli-tools/                # Building CLI apps\n│\n├── package.json\n├── vitest.config.js\n└── README.md\n```\n\n---\n\n## 🛠️ Technologies \u0026 Tools\n\n**Languages:**\n\n- JavaScript (ES6+)\n- TypeScript\n- Node.js\n\n**Testing:**\n\n- Vitest - Fast unit testing\n- Jest - Alternative testing framework\n\n**Frameworks \u0026 Libraries:**\n\n- Express.js - Web framework\n- Zod - Schema validation\n\n**Tools:**\n\n- npm - Package manager\n- Git - Version control\n- VS Code - Recommended editor\n\n---\n\n## 📚 Learning Resources\n\n### JavaScript\n\n- [MDN Web Docs - JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript) - Official reference\n- [JavaScript.info](https://javascript.info/) - Modern tutorial\n- [Eloquent JavaScript](https://eloquentjavascript.net/) - Free book\n- [33 JS Concepts](https://github.com/leonardomso/33-js-concepts) - Essential concepts\n\n### TypeScript\n\n- [TypeScript Handbook](https://www.typescriptlang.org/docs/handbook/intro.html) - Official docs\n- [Type Challenges](https://github.com/type-challenges/type-challenges) - Practice types\n- [Total TypeScript](https://totaltypescript.com) - Video courses\n\n### Node.js\n\n- [Node.js Docs](https://nodejs.org/docs/latest/api/) - Official API reference\n- [Node.js Roadmap](https://roadmap.sh/nodejs) - Complete learning path\n- [Express.js Guide](https://expressjs.com/en/guide/routing.html) - Web framework\n- [Node Best Practices](https://github.com/goldbergyoni/nodebestpractices) - Production tips\n\n### Algorithms \u0026 Data Structures\n\n- [JavaScript Algorithms](https://github.com/trekhleb/javascript-algorithms) - Visual examples\n- [LeetCode](https://leetcode.com/) - Coding challenges\n- [HackerRank](https://www.hackerrank.com/) - Practice problems\n\n---\n\n## 🎓 Who Is This For?\n\n✅ **Beginners** - New to programming? Start with JavaScript Fundamentals\n✅ **Intermediate Developers** - Level up your skills with advanced topics\n✅ **Career Switchers** - Build job-ready portfolio projects\n✅ **CS Students** - Supplement your coursework with practical exercises\n✅ **Interview Prep** - Practice algorithms and data structures\n✅ **Self-Taught Developers** - Structured learning path\n\n---\n\n## 🏆 Skills You'll Master\n\nAfter completing this repository, you will:\n\n✅ Write clean, modern JavaScript (ES6+)\n✅ Build type-safe applications with TypeScript\n✅ Create REST APIs with Node.js \u0026 Express\n✅ Handle async operations (Promises, async/await)\n✅ Work with databases (SQL, MongoDB)\n✅ Implement authentication \u0026 authorization\n✅ Write unit tests and integration tests\n✅ Deploy applications to production\n✅ Solve algorithm challenges\n✅ Pass technical interviews\n\n---\n\n## 🤝 Contributing\n\nContributions are welcome! Here's how you can help:\n\n1. 🐛 **Report bugs** - Open an issue\n2. 💡 **Suggest exercises** - Request new topics\n3. 🔧 **Fix errors** - Submit a pull request\n4. 📖 **Improve docs** - Help others learn better\n\n---\n\n## 📝 License\n\nThis project is licensed under the **GPL-3.0 License** - see the [LICENSE](LICENSE) file for details.\n\n---\n\n## ⭐ Star This Repository\n\nIf you find this helpful, please give it a star ⭐ to help others discover it!\n\n---\n\n## 🚀 Start Your Learning Journey Today\n\n```bash\ngit clone https://github.com/dharmveer97/programming-mastery.git\ncd programming-mastery/javascript-mastery\nnpm install\nnpm run test:watch\n```\n\n**Happy Coding!** 💻\n\n---\n\n## 📊 Repository Stats\n\n![GitHub stars](https://img.shields.io/github/stars/yourusername/repo?style=social)\n![GitHub forks](https://img.shields.io/github/forks/yourusername/repo?style=social)\n![GitHub watchers](https://img.shields.io/github/watchers/yourusername/repo?style=social)\n\n---\n\n### Keywords for Discovery\n\n`javascript exercises` `typescript tutorial` `nodejs learning` `backend development` `rest api` `express js` `async await` `promises` `data structures` `algorithms` `design patterns` `full stack developer` `web development` `coding practice` `programming exercises` `learn javascript` `learn typescript` `learn nodejs` `vitest testing` `beginner friendly` `interview preparation` `coding challenges`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdharmveer97%2Fprogramming-mastery","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdharmveer97%2Fprogramming-mastery","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdharmveer97%2Fprogramming-mastery/lists"}