Enter: app-starter — a modern admin boilerplate, with Micro-Frontend (MFE) support baked in. Ylli P, May 19, 2025May 19, 2025 This project exists to save you from reinventing the wheel (or worse — copy-pasting 500 lines of jQuery spaghetti from your 2018 Stack Overflow bookmarks). Let’s take a look at what it is, how it works, and why it might be your new best starting point. What’s in the Box? At its core, app-starter gives you a battle-tested, cleanly structured admin shell with: 🧩 AdminLTE (because it’s still awesome)⚙️ Micro-Frontend (MFE) support via module federation🪄 Plug-and-play layout and routing📦 Component-based UI architecture — bring your own React/Vue/Svelte/whatever🔐 Auth & session flow placeholder with included support for Basic Auth and Auth Providers🔌 Support for Google and GitHub SSO OAuth Providers 📊 Ready-made integrations for billing (like Stripe via Lago)🎨 A flexible theme engine to make it yours And yeah, the JavaScript stack is modern and clean — you won’t find any global window hacks or mysterious build scripts from the dark ages. Why Micro-Frontends? Because monoliths are so 2020. Micro-frontends let you decouple features and teams. You can ship a billing module written in React while your dashboard is still running Vue — all living peacefully under the same UI shell. This boilerplate handles the orchestration and gives you an MFE-friendly layout scaffold, right out of the box. In fact, app-starter MFE supports greatly stream aligned teams, since you can independent own end-to-end delivery of the value to customers including: independent and containerized continues delivery independent architecture and technologies independent capacity planning and cost management easy plugin into the main app (with mfe-manifest) [ { "microFrontends": [ { "name": "Home", "title": "Dashboard Home", "dynamic": false, "url": "/dashboard#", "order": 0, "icon": "fa-home" }, { "name": "Users", "action": "users", "title": "Show platform users", "url": "http://localhost:5501/users", "dynamic": true, "order": 1, "icon": "fa-user-shield" }, { "name": "Permissions", "action": "permissions", "title": "Platform authorizations & permissions", "dynamic": true, "url": "http://localhost:5502/permissions", "order": 2, "icon": "fa-shield-alt" }, { "name": "Subscriptions", "action": "Subscriptions", "title": "Manage User Subscriptions", "dynamic": true, "url": "http://localhost:5503/subscriptions", "order": 3, "icon": "fa-credit-card" }, { "name": "Marketplace", "action": "marketplace", "title": "Manage app marketplace", "dynamic": true, "url": "http://localhost:5504/marketplace", "order": 4, "icon": "fa-store" }, { "name": "Settings", "action": "settings", "title": "Platform settings", "dynamic": true, "url": "http://localhost:5503/settings", "order": 2, "icon": "fa-cog" }, { "name": "About", "title": "About us", "dynamic": false, "url": "/about", "order": 10, "icon": "fa-info-circle" } ], "v": 2 } ] Want to wire in a separate analytics app or plug in a partner portal maintained by a different team? Easy. Project Structure (a quick peek) app-starter/ ├── docs/ # The app-starter docs │ ... ├── mfe-modules/ # Example plug-and-play MFE modules │ ├── dashboard/ │ └── billing/ │ ... ├── services/ │ ├── opa-compose.yml │ ├── mailhog-compose.yml │ └── mongodb-compose.yml │ ... ├── src/ │ ├── auth/ │ ├── policies/ │ ├── templates/ # The main AdminLTE layout shell │ ├── utilities/ │ ├── tests/ │ ├── ├── integration/ │ ├── └── unit/ │ └── utilities/ │ ├── app.py │ ├── pytest.ini Use Cases This starter is perfect for: SaaS founders prototyping fast Internal admin tools that don’t need full-blown design from scratch Dev teams modernizing legacy dashboards Anyone building multi-tenant systems with isolated admin modules Getting Started git clone https://github.com/starlitlog/app-starter.git cd app-starter docker compose -f services/docker-compose.yaml up -d You’ll be running an AdminLTE-powered shell, with MFE modules loading like magic. From there, it’s just plug, play, and profit. What next? While there are many features that can be added to app-starter, I believe it already includes a great deal and before moving to a next stage, it needs some time to mature the existing features, documentation, demo site, its own home page and maybe an academic paper and real-case usage to support the validity of the idea. App Starter