{"id":52087928,"url":"https://github.com/bighnesh0007/dwcode","last_synced_at":"2026-08-04T03:30:26.041Z","repository":{"id":366180773,"uuid":"1275121317","full_name":"bighnesh0007/dwcode","owner":"bighnesh0007","description":"A LeetCode-style practice platform for MuleSoft DataWeave — problems, a live playground, contests and AI-assisted learning.","archived":false,"fork":false,"pushed_at":"2026-07-26T15:37:32.000Z","size":930,"stargazers_count":4,"open_issues_count":25,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-07-26T16:10:13.304Z","etag":null,"topics":["coding-challenges","dataweave","integration","learning-platform","mule","mulesoft","nextjs","open-source","playground","typescript"],"latest_commit_sha":null,"homepage":"https://dwcode.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bighnesh0007.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","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},"funding":{"github":["bighnesh0007"],"custom":["https://dwcode.vercel.app/sponsor"]}},"created_at":"2026-06-20T09:24:18.000Z","updated_at":"2026-07-26T15:37:37.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/bighnesh0007/dwcode","commit_stats":null,"previous_names":["bighnesh0007/dwcode"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bighnesh0007/dwcode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bighnesh0007%2Fdwcode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bighnesh0007%2Fdwcode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bighnesh0007%2Fdwcode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bighnesh0007%2Fdwcode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bighnesh0007","download_url":"https://codeload.github.com/bighnesh0007/dwcode/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bighnesh0007%2Fdwcode/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36259953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-04T02:00:06.901Z","response_time":57,"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":["coding-challenges","dataweave","integration","learning-platform","mule","mulesoft","nextjs","open-source","playground","typescript"],"created_at":"2026-08-04T03:30:25.253Z","updated_at":"2026-08-04T03:30:26.020Z","avatar_url":"https://github.com/bighnesh0007.png","language":"TypeScript","funding_links":["https://github.com/sponsors/bighnesh0007","https://dwcode.vercel.app/sponsor"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=waving\u0026color=0:061A3A,50:00A0DF,100:00C9D6\u0026height=220\u0026section=header\u0026text=DWCode\u0026fontSize=80\u0026fontColor=ffffff\u0026fontAlignY=38\u0026desc=The%20DataWeave%20Practice%20Arena%20for%20MuleSoft\u0026descAlignY=60\u0026descSize=20\" width=\"100%\" alt=\"DWCode banner\"/\u003e\n\n\u003ca href=\"https://readme-typing-svg.demolab.com\"\u003e\n  \u003cimg src=\"https://readme-typing-svg.demolab.com?font=Fira+Code\u0026weight=600\u0026size=24\u0026pause=1000\u0026color=00A0DF\u0026center=true\u0026vCenter=true\u0026width=700\u0026lines=Where+DataWeave+developers+level+up.;Solve.+Compete.+Climb+the+leaderboard.;Live+%25dw+2.0+compiler+in+your+browser.;Open+source+%E2%80%94+our+gift+to+the+Muleys.\" alt=\"Typing SVG\"/\u003e\n\u003c/a\u003e\n\n\u003cbr/\u003e\u003cbr/\u003e\n\n**A LeetCode-style coding platform built exclusively for MuleSoft DataWeave developers.**\n\nPractice data transformations, compete in timed contests, and sharpen your skills with AI-generated problems — all in a browser-based Monaco editor connected to a live DataWeave 2.0 compiler.\n\nStop practicing transformations in a scratch Anypoint project you'll never open again.\nSolve real problems. Race the clock. Climb the leaderboard. Let AI throw new challenges at you until `%dw 2.0` feels like a second language.\n\n\u003cbr/\u003e\n\n### 🎬 [**▶ Watch the 2-minute Demo**](https://drive.google.com/file/d/1fK-xpvf82gxItmtEjhcHu2E9O9FS8vcX/view?usp=drive_link)\n\n\u003cbr/\u003e\n\n![Next.js](https://img.shields.io/badge/Next.js_16-061A3A?style=for-the-badge\u0026logo=next.js\u0026logoColor=white)\n![React](https://img.shields.io/badge/React_19-00A0DF?style=for-the-badge\u0026logo=react\u0026logoColor=white)\n![TypeScript](https://img.shields.io/badge/TypeScript_5-00A0DF?style=for-the-badge\u0026logo=typescript\u0026logoColor=white)\n![MongoDB](https://img.shields.io/badge/MongoDB-00C9D6?style=for-the-badge\u0026logo=mongodb\u0026logoColor=white)\n![Clerk](https://img.shields.io/badge/Clerk_Auth-8B5CF6?style=for-the-badge\u0026logo=clerk\u0026logoColor=white)\n![Gemini](https://img.shields.io/badge/Gemini_2.5_Flash-00A0DF?style=for-the-badge\u0026logo=google\u0026logoColor=white)\n![Docker](https://img.shields.io/badge/Docker-00C9D6?style=for-the-badge\u0026logo=docker\u0026logoColor=white)\n\n![Open Source](https://img.shields.io/badge/OPEN_SOURCE-💜_our_gift_to_the_community-8B5CF6?style=for-the-badge)\n![PRs Welcome](https://img.shields.io/badge/PRs-welcome-00A0DF?style=for-the-badge)\n![Made for Muleys](https://img.shields.io/badge/🐴_Made_for-Muleys-061A3A?style=for-the-badge)\n\n\u003c/div\u003e\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=rect\u0026color=0:00A0DF,100:00C9D6\u0026height=3\u0026section=header\" width=\"100%\"/\u003e\n\n## 🌍 Why DWCode Exists\n\nEvery MuleSoft developer knows the feeling: you can wire up an API in your sleep, but hand you a gnarly `groupBy` → `pluck` → `reduce` chain under interview pressure and suddenly the docs are open in three tabs.\n\nDataWeave is a language. Languages get sharp with **reps**, not tutorials.\n\nDWCode is the dojo. It gives you an endless supply of curated and AI-generated transformation puzzles, a real compiler to check your work against hidden test cases, and a scoreboard that turns \"I should practice more\" into \"I'm rank #3 and I'm not stopping.\"\n\n\u003e **Built by the community, for the community.** 💜\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=rect\u0026color=0:00A0DF,100:00C9D6\u0026height=3\u0026section=header\" width=\"100%\"/\u003e\n\n## ✨ Features\n\n### 🏋️ Problem Workspace — _your training ground_\nThe main event. A clean split-pane battle station:\n\n- **Split-pane layout**: Problem description | Monaco editor | Console — everything in one view, zero context-switching\n- **Run** code against custom JSON input, or click **Submit** to evaluate all test cases at once\n- Real-time **pass/fail feedback** with per-test-case diff output — see exactly where your output drifted\n- Built-in **countdown timer** to simulate interview pressure (or just keep you honest)\n- **Bookmark** any problem for later revision\n- **Reveal Solution** toggle with optional hints\n- **My Notes** tab — auto-saved, per-problem markdown notes so future-you remembers the trick\n- **Discussion** tab — comment thread per problem\n\n### 🤖 AI Problem Generator — _the endless boss fight_\nNever run out of problems again.\n\n- **One-click generation** via Google Gemini 2.5 Flash\n- Configure **difficulty** (Easy / Medium / Hard), **category**, and an optional **topic**\n- Returns a *full* problem: description, examples, constraints, starter code, test cases, hidden test cases, hints, and a reference solution\n- Problems are saved immediately to the database and appear in the problem list\n\n### 🏆 Contests — _prove it under pressure_\n- Create time-boxed contests with any subset of problems\n- **Public** or **invite-code-only** visibility\n- Auto-computed status: `upcoming` → `active` → `ended`\n- Participant scoring: **Hard ×5, Medium ×3, Easy ×1**\n\n### 📊 Leaderboard — _the wall of legends_\n- Global ranking based on weighted score across all accepted submissions\n- Per-user breakdown: Easy / Medium / Hard solved, acceptance rate, total submissions\n- **Live aggregation** — no manual sync required\n\n### 🛝 Free Playground — _no rules, just DataWeave_\n- Standalone editor with no problem constraints — bring your own chaos\n- Three-panel layout: **Input payload** | **DataWeave script** | **Output**\n- Instant execution, copy-to-clipboard, reset, and execution time display\n\n### ✍️ Blog — _the community's brain_\n- Community blog with full CRUD\n- Write posts using a rich text editor; published posts are publicly visible\n\n### 👤 User Profiles — _your story so far_\n- Progress overview: total solved, by difficulty, bookmarks\n- Submission history and personal stats\n\n### 🪙 Coins System — _because winning should feel good_\n- Gamification layer: earn coins for accepted solutions\n- Transaction history visible in user profile\n\n### 🔐 Admin Panel — _mission control_\n- Role management and user administration via dedicated `/admin` routes\n- Protected by Clerk authentication and custom role checks\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=rect\u0026color=0:00A0DF,100:00C9D6\u0026height=3\u0026section=header\" width=\"100%\"/\u003e\n\n## 🏗 Tech Stack\n\nEvery piece was chosen to keep the loop tight: **write DataWeave → run against a real compiler → get instant truth.**\n\n| Layer | Technology |\n|---|---|\n| Framework | Next.js 16 (App Router) |\n| Language | TypeScript 5 |\n| UI | Tailwind CSS v4, shadcn/ui, Lucide Icons |\n| Editor | Monaco Editor (`@monaco-editor/react`) |\n| Auth | Clerk (`@clerk/nextjs`) |\n| Database | MongoDB via Mongoose |\n| AI | Google Gemini 2.5 Flash (`@google/genai`) |\n| State | Zustand |\n| Compiler Backend | DataWeave runtime (Docker / external service) |\n| Containerisation | Docker Compose |\n| Font | Geist (via `next/font`) |\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=rect\u0026color=0:00A0DF,100:00C9D6\u0026height=3\u0026section=header\" width=\"100%\"/\u003e\n\n## 🚀 Getting Started\n\n\u003e From `git clone` to green checkmarks in five steps.\n\n### Prerequisites\n\n- **Node.js** ≥ 18\n- **Docker** (for MongoDB and optional DataWeave compiler backend)\n- A **Clerk** account — [clerk.com](https://clerk.com)\n- A **Google Gemini** API key — [ai.google.dev](https://ai.google.dev)\n\n### 1. Clone \u0026 Install\n\nThe Next.js application lives in the **`client/`** directory; there is no root `package.json`.\nAll npm commands below run from `client/`.\n\n```bash\ngit clone https://github.com/your-username/dwcode.git\ncd dwcode/client\nnpm install\n```\n\n### 2. Environment Variables\n\nCreate `client/.env.local` and fill in your values:\n\n```bash\n# from the repo root\ntouch client/.env.local\n```\n\n```env\n# client/.env.local\n\n# MongoDB connection string\nMONGODB_URI=mongodb://localhost:27017/dwcode\n\n# Google Gemini API key (for AI problem generation)\nGEMINI_API_KEY=your_gemini_api_key_here\n\n# Clerk authentication keys (from your Clerk dashboard)\nNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_...\nCLERK_SECRET_KEY=sk_test_...\n\n# Clerk redirect paths\nNEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in\nNEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up\n```\n\n### 3. Start MongoDB\n\nFrom the **repo root** (`docker-compose.yml` lives there, not in `client/`):\n\n```bash\ndocker-compose up -d\n```\n\nThis spins up a MongoDB instance at `localhost:27017` with a persistent volume.\n\n### 4. Start the DataWeave Compiler Backend\n\nThe code execution engine is a separate DataWeave runtime service. By default the app points to `https://dwlbackend.onrender.com`. To run it locally, start the companion Docker container and update `DATAWEAVE_BACKEND_URL` in your env file accordingly.\n\n### 5. Run the Development Server\n\n```bash\ncd client\nnpm run dev\n```\n\nThe app starts on **[http://localhost:8000](http://localhost:8000)** — open it, pick a problem, and start transforming. 🎉\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=rect\u0026color=0:00A0DF,100:00C9D6\u0026height=3\u0026section=header\" width=\"100%\"/\u003e\n\n## 📂 Project Structure\n\nThe repo root holds infrastructure and docs; the entire Next.js application lives in `client/`.\n\n```\ndwcode/\n├── client/                     # ◀ THE NEXT.JS APP (run npm here)\n│   ├── app/                    # App Router pages \u0026 API routes\n│   │   ├── api/                # REST API handlers\n│   │   │   ├── execute/        # DataWeave code execution proxy\n│   │   │   ├── transform/      # Playground execution proxy (multi-input)\n│   │   │   ├── generate/       # AI problem generation (Gemini)\n│   │   │   ├── problems/       # Problem CRUD\n│   │   │   ├── submissions/    # Submission tracking\n│   │   │   ├── contests/       # Contest management\n│   │   │   ├── leaderboard/    # Score aggregation\n│   │   │   ├── bookmarks/      # Bookmark toggle\n│   │   │   ├── notes/          # Per-problem notes\n│   │   │   ├── coins/          # Gamification coins\n│   │   │   ├── blog/           # Blog posts\n│   │   │   ├── comments/       # Problem discussion threads\n│   │   │   ├── profile/        # Profile, username, follow\n│   │   │   ├── auth/github/    # GitHub OAuth flow\n│   │   │   ├── playground/     # Share, AI insights, GitHub import/push\n│   │   │   └── admin/          # Admin: users \u0026 roles\n│   │   ├── problems/[slug]/    # Problem workspace (split-pane editor)\n│   │   ├── playground/         # Free DataWeave playground\n│   │   ├── contests/           # Contest list \u0026 detail\n│   │   ├── leaderboard/        # Global leaderboard\n│   │   ├── blog/               # Blog list, detail \u0026 editor\n│   │   ├── profile/            # User profile page\n│   │   ├── create/             # Manual problem creation form\n│   │   └── admin/              # Admin dashboard\n│   ├── components/             # Shared UI components (Navbar, Comments, etc.)\n│   ├── models/                 # Mongoose schemas (Problem, Submission, Contest…)\n│   ├── lib/                    # Database connection, config, utilities\n│   ├── public/                 # Static assets\n│   ├── __tests__/              # Vitest property-based tests\n│   ├── proxy.ts                # Clerk middleware (Next.js 16 naming)\n│   ├── package.json            # Dependencies \u0026 scripts\n│   ├── next.config.ts          # output: \"standalone\"\n│   ├── tsconfig.json           # \"@/*\" → client root\n│   └── .env.local              # Local secrets (gitignored)\n├── .github/workflows/          # CI (runs with working-directory: client)\n├── .agents/ · .kiro/           # Agent skills \u0026 feature specs\n├── docker-compose.yml          # MongoDB container\n├── Dockerfile                  # App image (build context = repo root)\n└── README.md\n```\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=rect\u0026color=0:00A0DF,100:00C9D6\u0026height=3\u0026section=header\" width=\"100%\"/\u003e\n\n## 🔑 Key API Routes\n\n| Method | Route | Description |\n|--------|-------|-------------|\n| `GET/POST` | `/api/problems` | List or create problems |\n| `POST` | `/api/execute` | Run DataWeave code |\n| `POST` | `/api/generate` | Generate problem with AI |\n| `GET/POST` | `/api/contests` | List or create contests |\n| `GET` | `/api/leaderboard` | Fetch ranked leaderboard |\n| `POST` | `/api/submissions` | Submit a solution |\n| `GET/POST` | `/api/bookmarks` | Toggle bookmark |\n| `GET/PUT` | `/api/notes` | Read/write problem notes |\n| `GET` | `/api/coins` | User coin balance |\n| `GET/POST` | `/api/blog` | Blog post management |\n| `GET/POST` | `/api/comments` | Problem discussion |\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=rect\u0026color=0:00A0DF,100:00C9D6\u0026height=3\u0026section=header\" width=\"100%\"/\u003e\n\n## 🐳 Docker\n\nStart only MongoDB (from the repo root):\n\n```bash\ndocker-compose up -d\n```\n\nBuild and run the full app in Docker. The build context is the **repo root** (the Dockerfile\ncopies from `client/`), so run this from the root, not from `client/`:\n\n```bash\ndocker build -t dwcode .\ndocker run -p 3000:3000 --env-file client/.env.local dwcode\n```\n\n\u003e **Note:** the image listens on port **3000** (`ENV PORT 3000` in the Dockerfile), whereas\n\u003e `npm run dev` and `npm start` use port **8000**. Map ports accordingly.\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=rect\u0026color=0:00A0DF,100:00C9D6\u0026height=3\u0026section=header\" width=\"100%\"/\u003e\n\n## 🚀 Deployment\n\nThe two halves deploy independently.\n\n| Part | Platform | Config | Why |\n|---|---|---|---|\n| `client/` | **Vercel** | [client/vercel.json](client/vercel.json) | Native Next.js hosting |\n| `server/` | **Render** | [render.yaml](render.yaml) | Long-lived Express process |\n\n**The backend cannot run on Vercel.** It calls `app.listen()`, holds a MongoDB\nconnection pool, and runs a periodic upstream heartbeat — none of which survive a\nserverless runtime that freezes between invocations.\n\n### Frontend → Vercel\n\nCreate the project, then **set Root Directory to `client`** in Settings → General.\nThat one setting is what makes the monorepo work; everything else is auto-detected.\n\nRequired environment variables:\n\n```\nNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY\nCLERK_SECRET_KEY\nNEXT_PUBLIC_API_URL          # the deployed Render URL\nNEXT_PUBLIC_APP_URL          # the deployed Vercel URL\nMONGODB_URI                  # until the API migration finishes\n```\n\n### Backend → Render\n\nDashboard → **Blueprints** → New Blueprint Instance, pointed at `render.yaml`.\nIt declares the build/start commands, `/health` as the health check, and every\nenvironment variable. Secrets are marked `sync: false`, so Render prompts for them\ninstead of reading values from git.\n\nAfter the first deploy, two values must agree or the browser will be blocked by CORS:\n\n- `CORS_ALLOWED_ORIGINS` on Render must contain the Vercel origin.\n- `NEXT_PUBLIC_API_URL` on Vercel must be the Render URL.\n\nThe service also keeps the frozen legacy endpoints — `POST /api/transform`,\n`/health`, `/healthcheck` — byte-compatible with the original `server.js`, so\nexisting callers continue to work unchanged.\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=rect\u0026color=0:00A0DF,100:00C9D6\u0026height=3\u0026section=header\" width=\"100%\"/\u003e\n\n## 🗺 Roadmap Ideas\n\n_Want to help shape where DWCode goes next? These are open for the taking:_\n\n- 📅 Daily challenge streaks (keep the muscle warm)\n- 🏢 Company-tagged problem sets for interview prep\n- 🧵 DataWeave \"pattern of the week\" community writeups\n- 🥇 Team leagues and seasonal contests\n\n_Have an idea? Open an issue and let's talk._\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=rect\u0026color=0:00A0DF,100:00C9D6\u0026height=3\u0026section=header\" width=\"100%\"/\u003e\n\n## 🎁 Our Gift to the MuleSoft Community\n\n\u003e **DWCode is open source — because the best integrations are the ones we build together.** 🐴💜\n\nWe didn't build DWCode to lock it away behind a paywall. We built it because we *are* the MuleSoft community — and every Muley deserves a place to sharpen their DataWeave without spinning up yet another throwaway Mule app.\n\nSo here it is. **Free. Open. Yours.** Fork it, self-host it, remix it, ship it. This is our contribution to the flow — now add yours.\n\n**Every Muley makes the mule stronger.** Here's how you can plug in:\n\n- 🧩 **Add a problem** — dreamt up a devious transformation? Drop it in and stump the leaderboard.\n- 🐛 **Squash a bug** — see something misbehaving? A PR is worth a thousand issues.\n- 📖 **Write a blog post** — teach a DataWeave pattern that took *you* three hours to crack.\n- ✨ **Build a feature** — the roadmap above is a menu, not a limit.\n- ⭐ **Star the repo** — the cheapest, kindest way to say \"keep going.\"\n\n```dataweave\n%dw 2.0\noutput application/json\nvar community = payload.developers\n---\n{\n  status: \"open source, forever\",\n  gift: \"DWCode\",\n  from: \"us\",\n  to: \"the MuleSoft community\",\n  yourMove: community map (dev) -\u003e dev ++ { contributed: true }\n}\n```\n\n\u003e _An API is only as good as the community that connects to it. Same goes for a practice platform._ 🔌\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=rect\u0026color=0:00A0DF,100:00C9D6\u0026height=3\u0026section=header\" width=\"100%\"/\u003e\n\n## 🤝 Contributing\n\nDWCode gets better every time a MuleSoft dev throws in a problem, fixes a bug, or writes a blog post. Jump in:\n\n1. Fork the repo and create a feature branch: `git checkout -b feat/your-feature`\n2. Install **from the repository root** — this is an npm workspace: `npm install`\n3. Make your changes, then verify: `npm run typecheck \u0026\u0026 npm run lint \u0026\u0026 npm test \u0026\u0026 npm run build`\n4. Open a pull request with a clear description\n\n**[CONTRIBUTING.md](CONTRIBUTING.md) has the full guide** — repository layout,\nthe rule about never hand-writing a problem's expected output, database\nmigration conventions, and the gotchas that bite newcomers.\n\nPlease also read our [Code of Conduct](CODE_OF_CONDUCT.md).\n\nEvery contribution — a single test case or a whole new feature — makes the whole community sharper. 🙌\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=rect\u0026color=0:00A0DF,100:00C9D6\u0026height=3\u0026section=header\" width=\"100%\"/\u003e\n\n## 📄 License\n\n[MIT](LICENSE) — feel free to use, fork, and extend. Go build something great.\n\nFound a security issue? Please report it privately — see [SECURITY.md](SECURITY.md).\n\n\u003cbr/\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n```dataweave\n%dw 2.0\noutput application/json\n---\n{\n  project: \"DWCode\",\n  builtWith: \"💜\",\n  gift: \"open source, to the MuleSoft community\",\n  from: \"one Muley to every Muley\",\n  message: \"Keep weaving. Keep shipping. Keep leveling up.\",\n  yourTurn: \"fork it → improve it → give it back\"\n}\n```\n\n\u003cbr/\u003e\n\n⭐ **If DWCode helped you level up, drop a star — it fuels the mission.** ⭐\n\n\u003c/div\u003e\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=waving\u0026color=0:00C9D6,50:00A0DF,100:061A3A\u0026height=160\u0026section=footer\u0026text=Made%20with%20💜%20for%20the%20MuleSoft%20Community\u0026fontSize=22\u0026fontColor=ffffff\u0026fontAlignY=70\u0026desc=Our%20open-source%20gift%20—%20now%20go%20weave%20something%20legendary%20🕸️\u0026descAlignY=88\u0026descSize=14\" width=\"100%\" alt=\"DWCode footer\"/\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbighnesh0007%2Fdwcode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbighnesh0007%2Fdwcode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbighnesh0007%2Fdwcode/lists"}