DEV Community: Aditya The latest articles on DEV Community by Aditya (@aditorito). https://dev.to/aditorito 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%2F1125237%2Fb6a72ba6-31ee-4d5c-ade2-593c11c1995d.png DEV Community: Aditya https://dev.to/aditorito en Running Frappe/ERPNext on Windows with WSL — A Web Developer’s Perspective Aditya Wed, 22 Oct 2025 06:35:54 +0000 https://dev.to/aditorito/running-frappeerpnext-on-windows-with-wsl-a-web-developers-perspective-2ami https://dev.to/aditorito/running-frappeerpnext-on-windows-with-wsl-a-web-developers-perspective-2ami <p><strong>🚀 How It Started</strong></p> <p>I’m a MERN-stack developer exploring ERP software then I come to know about ERNnext based on Frappe, an open-source Python + MariaDB framework.<br> While trying to set it up on Windows, I quickly learned:</p> <p>Frappe runs perfectly on Linux/Mac, but fails on native Windows.</p> <p>So I had to learn why, and how to make it work using WSL (Windows Subsystem for Linux).</p> <p><strong>⚙️ Why Frappe Doesn’t Run on Windows Directly</strong></p> <p>Unlike Node.js (which runs anywhere), Frappe depends on:</p> <p>MariaDB (SQL database)</p> <p>Redis (caching + background jobs)</p> <p>Gunicorn/Werkzeug (Python web server)</p> <p>Supervisor/Nginx (process control)</p> <p>These tools are Linux-native.<br> They expect a Linux-style filesystem, bash commands, and POSIX permissions — things Windows doesn’t provide.</p> <p><strong>💻 What WSL Does</strong></p> <p>WSL (Windows Subsystem for Linux) acts like a lightweight virtual Linux computer inside Windows.</p> <p>It gives you:</p> <p>a real Linux kernel</p> <p>Ubuntu filesystem (/home/)</p> <p>package manager (apt)</p> <p>shared network + hardware</p> <p>So you can run sudo apt install, redis-server, mysql, and other Linux tools — directly inside Windows.</p> <p><strong>📂 The Linux files actually live inside:</strong></p> <p>C:\Users&lt;Name&gt;\AppData\Local\Packages...\ext4.vhdx<br> Windows just mounts it for you.</p> <p><strong>🏗️ Installing Frappe in WSL (Simplified Steps)</strong><br> </p> <div class="highlight js-code-highlight"> <pre class="highlight plaintext"><code># open Ubuntu (WSL) sudo apt update &amp;&amp; sudo apt upgrade sudo apt install python3-pip redis-server mariadb-server pip install frappe-bench bench init frappe-bench cd frappe-bench source env/bin/activate bench new-site dev.localhost #new site name bench start </code></pre> </div> <p>Now open <a href="proxy.php?url=http://localhost:8000" rel="noopener noreferrer">http://localhost:8000</a> or <a href="proxy.php?url=http://dev.localhost:8000/" rel="noopener noreferrer">http://dev.localhost:8000/</a> </p> <p><strong>🧠 Why “bench” Exists</strong></p> <p>bench is a command-line tool that:</p> <p>Initializes new Frappe projects</p> <p>Starts servers (web, Redis, workers)</p> <p>Handles database migrations</p> <p>Installs apps like ERPNext</p> <p>Basically, it’s your Frappe DevOps manager.</p> <p>So think of:</p> <p>Bench = npm + pm2 + nodemon for Python</p> <p><strong>💡 How VS Code Fits In</strong></p> <p>You can open your WSL folder in VS Code:<br> </p> <div class="highlight js-code-highlight"> <pre class="highlight plaintext"><code>\\wsl$\Ubuntu\home\&lt;user&gt;\frappe-bench </code></pre> </div> <p>and then run bench start in VS Code’s WSL terminal.<br> The editor runs in Windows, but the code executes inside Ubuntu — the best of both worlds.</p> <p><strong>⚡ Key Takeaways</strong></p> <p>Frappe = full-stack Python framework with its own ecosystem.</p> <p>Windows can’t run it directly → needs WSL (Linux inside Windows).</p> <p>WSL shares your PC’s CPU, RAM, and disk but acts like Ubuntu.</p> <p>bench manages everything — like npm + pm2 for Frappe.</p> <p>You can code in VS Code and run in WSL seamlessly.</p> <p><strong>✅ Example Setup Recap</strong><br> </p> <div class="highlight js-code-highlight"> <pre class="highlight plaintext"><code># Activate virtual env source ~/frappe-bench/env/bin/activate # Start Frappe bench start # Access site http://localhost:8000 or http://dev.localhost:8000/ </code></pre> </div> <p><strong>✨ Closing Note</strong><br> At first, setting up Frappe on Windows feels confusing — but once you understand WSL as your Linux bubble, it all clicks.</p> linux webdev python frappe 🚀 Project: StayFinder – A Minimal Airbnb Clone Aditya Wed, 25 Jun 2025 18:40:37 +0000 https://dev.to/aditorito/project-stayfinder-a-minimal-airbnb-clone-3426 https://dev.to/aditorito/project-stayfinder-a-minimal-airbnb-clone-3426 <h2> Built with: </h2> <div class="highlight js-code-highlight"> <pre class="highlight plaintext"><code>Frontend: React.js, Tailwind CSS Backend: Node.js, Express.js Database: MongoDB Cloud Storage: Cloudinary (for image upload) API Testing: Postman Deployment: Vercel (Frontend), Render (Backend) </code></pre> </div> <h2> 🛠️ Why I Built This </h2> <p>I built StayFinder as part of a task during an internship application. The goal was to replicate core Airbnb functionality – listing properties, image uploads, user interactions, and availability scheduling – all using RESTful APIs.</p> <p>This project helped me get hands-on with full-stack development: from creating intuitive UI to setting up secure backend routes and managing a NoSQL database.</p> <h2> 🌐 Live Preview + GitHub </h2> <div class="highlight js-code-highlight"> <pre class="highlight plaintext"><code>Live Demo: [https://stay-finder-theta.vercel.app/] GitHub: [https://github.com/aditorito/StayFinder] </code></pre> </div> <h2> 💡 What I Learned </h2> <div class="highlight js-code-highlight"> <pre class="highlight plaintext"><code>Creating and consuming RESTful APIs Image handling and upload via Cloudinary Managing availability dates using MongoDB Building a responsive UI with Tailwind Deployment on Render and vercel. </code></pre> </div> <h2> 😫 Struggles &amp; An Honest Ask for Help </h2> <p>I’m proud of the project — but I’m honestly frustrated building everything solo. It’s tough to learn, build, debug, and grow alone. I want to:</p> <div class="highlight js-code-highlight"> <pre class="highlight plaintext"><code>Collaborate on real projects with real people Contribute to open-source and learn from others Connect with mentors or interns like me Get into a solid internship or part-time dev work </code></pre> </div> <p>If you're working on something exciting or know someone hiring/inviting interns or contributors, I’d love to hear from you!<br> 🤝 Let’s Connect<br> 💬 Drop a comment if you have advice<br> 👥 DM me if you're building something<br> 🔗 Share open source or internship leads</p> <p>Let’s build and grow together 💻💬🌱</p> webdev javascript beginners react