🚀 I just built and deployed a full-stack e-commerce app from scratch — and I'm honestly proud of what I learned. Meet **ElectroMart** — a fully functional electronics store with real authentication, image uploads, an admin panel, and a live deployment. 🔗 Live: https://lnkd.in/gY_NvdsB Here's everything I built: **The Stack:** ⚛️ React 18 + Vite + Tailwind CSS + shadcn/ui 🟢 Node.js + Express REST API 🍃 MongoDB Atlas + Mongoose 🔐 Clerk Authentication 🖼️ Cloudflare R2 image storage 🚀 Deployed on Vercel + Render **The Features:** ✅ Product catalog with categories and filters ✅ Shopping cart with Context + useReducer ✅ User authentication (email + Google OAuth) ✅ Protected routes — checkout requires sign in ✅ Admin panel to add, edit and delete products ✅ Real image uploads to Cloudflare R2 ✅ Full checkout flow ✅ CI/CD with GitHub Actions ✅ Jira for project management with GitFlow **The Biggest Lessons:** 2️⃣ **Authentication is hard to build, easy to use** — Clerk saved me weeks of work. JWT, bcrypt, sessions — all handled. I just imported components. 3️⃣ **Middleware chaining** — Express middleware runs in order. Getting Multer to process files BEFORE auth middleware was a real debugging lesson. 4️⃣ **Environment variables matter** — The difference between `localhost` and production broke my app in 3 different ways. Lesson learned: never hardcode URLs. 5️⃣ **CORS is always the last problem** — Every time you deploy something new, CORS will remind you it exists 😂 **What's Next:** I'm adding Stripe payments next. Then product reviews, order history, and email notifications. If you're learning web development — build projects. Not tutorials. Real projects with real problems. That's where the actual learning happens. GitHub: https://lnkd.in/gvYC2ZE6 #WebDevelopment #React #NodeJS #MongoDB #JavaScript #FullStack #OpenToWork #100DaysOfCode #Programming #SoftwareEngineering
🙌🎉️
❤️❤️
Great work 👏