<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Shivam Kumar</title>
    <description>The latest articles on DEV Community by Shivam Kumar (@shivam_kumar_4b4bc71d90a0).</description>
    <link>https://dev.to/shivam_kumar_4b4bc71d90a0</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3870382%2Fdbc310a0-f086-429a-9f1c-b06ba64ff6e9.png</url>
      <title>DEV Community: Shivam Kumar</title>
      <link>https://dev.to/shivam_kumar_4b4bc71d90a0</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shivam_kumar_4b4bc71d90a0"/>
    <language>en</language>
    <item>
      <title>I Built an Artisan-Like CLI for Next.js (MongoDB + JWT + CRUD in Seconds)</title>
      <dc:creator>Shivam Kumar</dc:creator>
      <pubDate>Thu, 09 Apr 2026 18:06:21 +0000</pubDate>
      <link>https://dev.to/shivam_kumar_4b4bc71d90a0/i-built-an-artisan-like-cli-for-nextjs-mongodb-jwt-crud-in-seconds-2886</link>
      <guid>https://dev.to/shivam_kumar_4b4bc71d90a0/i-built-an-artisan-like-cli-for-nextjs-mongodb-jwt-crud-in-seconds-2886</guid>
      <description>&lt;h1&gt;
  
  
  🚀 I Built an Artisan-Like CLI for Next.js (With MongoDB + JWT)
&lt;/h1&gt;

&lt;p&gt;If you’ve ever built a backend with Next.js, you know the pain…&lt;/p&gt;

&lt;p&gt;Every time you start a new project, you end up doing the same things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Setting up MongoDB connection&lt;/li&gt;
&lt;li&gt;Writing authentication (JWT, hashing passwords)&lt;/li&gt;
&lt;li&gt;Creating API routes&lt;/li&gt;
&lt;li&gt;Structuring folders&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Again… and again… and again.&lt;/p&gt;




&lt;h2&gt;
  
  
  🤔 The Problem
&lt;/h2&gt;

&lt;p&gt;Next.js is amazing for full-stack apps, but it &lt;strong&gt;doesn’t give you a backend scaffold like Laravel&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In Laravel, you have:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan make:model
php artisan make:controller
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;👉 Everything is fast and structured.&lt;/p&gt;

&lt;p&gt;But in Next.js?&lt;/p&gt;

&lt;p&gt;👉 You start from scratch every time.&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 The Idea
&lt;/h2&gt;

&lt;p&gt;I wanted &lt;strong&gt;Laravel Artisan-like speed in Next.js&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;So I built:&lt;/p&gt;

&lt;h2&gt;
  
  
  🧰 poudwal
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;A CLI that scaffolds full backend systems for Next.js 14 App Router.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🎬 Demo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk1jqzovauxi4pn26ka62.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk1jqzovauxi4pn26ka62.gif" alt="poudwal demo" width="1357" height="904"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚡ What poudwal Can Do
&lt;/h2&gt;

&lt;p&gt;With a few commands, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🚀 Create a full Next.js project&lt;/li&gt;
&lt;li&gt;🔐 Add JWT authentication (login/register)&lt;/li&gt;
&lt;li&gt;📦 Setup MongoDB with Mongoose&lt;/li&gt;
&lt;li&gt;🔄 Generate complete CRUD APIs&lt;/li&gt;
&lt;li&gt;🧱 Get a clean scalable structure&lt;/li&gt;
&lt;li&gt;🟦 Use TypeScript support&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🚀 Quick Start
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;npx poudwal create my-app --ts&lt;br&gt;
cd my-app&lt;br&gt;
npm install&lt;br&gt;
npm run dev&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🧑‍💻 Real Example
&lt;/h2&gt;

&lt;p&gt;Let’s say you’re building an ecommerce app:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx poudwal create ecommerce-app &lt;span class="nt"&gt;--ts&lt;/span&gt;
&lt;span class="nb"&gt;cd &lt;/span&gt;ecommerce-app

&lt;span class="c"&gt;# Generate APIs&lt;/span&gt;
npx poudwal make:crud product
npx poudwal make:crud order

&lt;span class="c"&gt;# Add authentication&lt;/span&gt;
npx poudwal &lt;span class="nb"&gt;install&lt;/span&gt;:auth
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🎉 Done.&lt;/p&gt;

&lt;p&gt;You now have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Product &amp;amp; Order APIs&lt;/li&gt;
&lt;li&gt;Authentication system&lt;/li&gt;
&lt;li&gt;MongoDB setup&lt;/li&gt;
&lt;li&gt;Ready backend&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧠 Why This Is Useful
&lt;/h2&gt;

&lt;p&gt;Without poudwal:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;❌ Write models manually&lt;/li&gt;
&lt;li&gt;❌ Setup auth from scratch&lt;/li&gt;
&lt;li&gt;❌ Create API routes manually&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With poudwal:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Everything generated instantly&lt;/li&gt;
&lt;li&gt;✅ Clean structure&lt;/li&gt;
&lt;li&gt;✅ Focus on business logic&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⚙️ Key Commands
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Create Project
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;poudwal create my-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Generate Model
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;poudwal make:model User
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Generate API
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;poudwal make:api product
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Generate Full CRUD
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;poudwal make:crud Product
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Install Auth
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;poudwal &lt;span class="nb"&gt;install&lt;/span&gt;:auth
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🔐 Authentication Flow
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;User registers → password hashed&lt;/li&gt;
&lt;li&gt;User logs in → JWT token generated&lt;/li&gt;
&lt;li&gt;Middleware protects &lt;code&gt;/api/*&lt;/code&gt; routes&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🌱 Environment Setup
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;MONGODB_URI=mongodb://localhost:27017/myapp
JWT_SECRET=your_secret_key
JWT_EXPIRES=7d
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  📦 Try It Yourself
&lt;/h2&gt;

&lt;p&gt;👉 &lt;a href="https://www.npmjs.com/package/poudwal" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/poudwal&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💬 I’d Love Your Feedback
&lt;/h2&gt;

&lt;p&gt;This is just the beginning.&lt;/p&gt;

&lt;p&gt;If you’re a Next.js developer:&lt;/p&gt;

&lt;p&gt;👉 Would this save your time?&lt;br&gt;
👉 What feature should I add next?&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Future Plans
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Prisma support&lt;/li&gt;
&lt;li&gt;Role-based authentication&lt;/li&gt;
&lt;li&gt;Validation (Zod/Yup)&lt;/li&gt;
&lt;li&gt;Better CLI UX&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⭐ If You Like It
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Star the repo&lt;/li&gt;
&lt;li&gt;Try it in your next project&lt;/li&gt;
&lt;li&gt;Share feedback&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Thanks for reading 🙌&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>nextjs</category>
      <category>javascript</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
