惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
B
Blog
T
The Blog of Author Tim Ferriss
量子位
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - Franky
小众软件
小众软件
Recent Announcements
Recent Announcements
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
I
InfoQ
美团技术团队
G
Google Developers Blog
Engineering at Meta
Engineering at Meta
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Visual Studio Blog
云风的 BLOG
云风的 BLOG
博客园 - 【当耐特】
IT之家
IT之家
Microsoft Security Blog
Microsoft Security Blog
博客园 - 聂微东
Last Week in AI
Last Week in AI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
H
Help Net Security

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
How I Built a QR-Powered ERP for Garment Factories Using ...
Santosh Rija · 2026-05-10 · via DEV Community

Santosh Rijal

The Problem: The "Spreadsheet Chaos" of the Sewing Floor
Most people think garment manufacturing is just "sewing." In reality, it’s a logistics nightmare. A single factory floor might have 60+ machines, 100+ operators, and thousands of fabric bundles moving at once.

Before Scan ERP, tracking was done on paper or messy Excel sheets. This led to:

Payment Disputes: "I sewed 50 sleeves, why am I paid for 40?"

The Black Hole: A bundle goes missing, and production stops for hours.

Delayed Decisions: Managers only see "yesterday's" data, never "now."

The Solution: A "Zero-Install" System of Action
I didn’t want to build a "System of Record" where people just type in data. I wanted a System of Action.

We built Scan ERP as a Progressive Web App (PWA) because factory environments hate App Stores. No downloads, no updates—just a QR scan and you're in.

  1. The Multi-Engine QR Scanner (99% Accuracy) Scanning on cheap, greasy $100 Android phones is hard. To hit 99% accuracy, we didn't rely on one library. We built a hybrid engine combining:

BarcodeDetector API (Native & Fast)

jsQR (Fallback)
ZXing (Robustness)

This ensures that even a smudged QR code on a moving bundle gets registered in <200ms.

  1. Architecture: From Monolith to Modular Initially, our firebase-services.js was a 3,000-line beast. We recently performed a major "Architectural Cleanup":

Modular Services: Split by domain (Inventory, Piece-rate, Quality Control).

Base Service Pattern: A standardized FirebaseBaseService for CRUD, automated timestamps (createdAt, updatedAt), and batch transactions.
The Result: A 75% reduction in core service file size and way faster bundle loading. 3. Handling "Off-Grid" Factories with Raspberry PiInternet in factories can be spotty. We deployed a Raspberry Pi as an edge collector. It handles local data sync and ensures that even if the Wi-Fi drops, the sewing lines don't. Once the connection is back, Firebase Background Sync handles the heavy lifting. The Impact: Real Data, Real Fast
In our primary deployment (60+ machines in Nepal), we’ve already tracked 115,370+ pieces.

Bottlenecks Detected in <30 Seconds: If a line slows down, the dashboard turns red instantly.

Zero Payment Disputes: Every scan creates a tamper-proof entry in the operator's digital diary.

Lessons Learned
Building for the "real world" is different from building for "the browser."

UX > Beauty: Big buttons, high contrast, and voice notifications matter more than fancy animations on a dusty factory floor.

PWA is the Future of Enterprise: In 2026, the "install barrier" is the biggest killer of B2B apps. PWAs solve this.

Check out the live project here: https://scanerp.pro/

Are you building niche ERPs or experimenting with PWA scanning? Let's chat in the comments!